Skip to content

Commit

Permalink
Update code generation for API update
Browse files Browse the repository at this point in the history
  • Loading branch information
fjakobs committed Jul 13, 2023
1 parent cfc08cc commit 28cf6fd
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 24 deletions.
4 changes: 2 additions & 2 deletions packages/databricks-sdk-js/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@
"build": "tsc --build --force",
"watch": "tsc --build --watch",
"clean": "rm -rf dist node_modules",
"openapi:fetch": "./scripts/fetch_openapi.sh bc047bfe86e4852fed29d82a1a20fe03c64490a2",
"openapi:generate": "./scripts/generate_openapi.sh v0.10.1 && yarn run build",
"openapi:fetch": "./scripts/fetch_openapi.sh d4525bbc428d236f7508d3190f973fbf17fa5614",
"openapi:generate": "./scripts/generate_openapi.sh v0.12.0 && yarn run build",
"generate-notice": "../../scripts/generate_notice.sh",
"fix": "eslint src --ext ts --fix && prettier . --write",
"test:lint": "eslint src --ext ts && prettier . -c",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,18 +13,11 @@ export class WorkspaceClient {
readonly apiClient: ApiClient;

{{range .Services}}{{if not .IsAccounts}}
{{- if eq .Name "CommandExecution" -}}
/**
* This API allows executing commands on running clusters.
*/
readonly commands: commands.CommandExecutionService;
{{else -}}
/**
{{.Comment "* " 80}}
*/
readonly {{.CamelName}}: {{.Package.Name}}.{{.PascalName}}Service;
{{end -}}{{end}}
{{end}}

constructor(config: ConfigOptions | Config, options: ClientOptions = {}) {
if (!(config instanceof Config)) {
Expand Down
35 changes: 22 additions & 13 deletions packages/databricks-sdk-js/src/.codegen/api.ts.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,18 @@
*/

import {ApiClient} from "../../api-client";
import * as model from "./model";
import * as {{.Name}} from "./model";
import {EmptyResponse} from "../../types";
import Time from "../../retries/Time";
import retry from "../../retries/retries";
import {CancellationToken} from "../../types"
import {ApiError, ApiRetriableError} from "../apiError";
import {context, Context} from "../../context"
import {ExposedLoggers, withLogContext} from "../../logging";
import {Waiter, asWaiter} from "../../wait";
{{range .ImportedEntities}}
import { {{.PascalName}} } from "../{{.Package.Name}}"{{end}}

{{range .ImportedPackages}}
import * as {{.}} from "../{{.}}"{{end}}

{{range $i, $s := .Services }}
export class {{$s.PascalName}}RetriableError extends ApiRetriableError {
Expand All @@ -38,7 +40,7 @@ export class {{$s.PascalName}}Service {
{{- range $s.Methods}}

@withLogContext(ExposedLoggers.SDK)
private async _{{.CamelName}}({{if .Request}}request: model.{{.Request.PascalName}},{{end}}
private async _{{.CamelName}}({{if .Request}}request: {{$s.Package.Name}}.{{.Request.PascalName}},{{end}}
@context context?: Context
): Promise<{{template "type_for_response" .}}>

Expand All @@ -59,15 +61,15 @@ export class {{$s.PascalName}}Service {
"{{.Verb}}",
{{if .Request -}}request{{else}}undefined{{end}},
context
) as {{if .Response}}{{if .Response.ArrayValue}}Array<model.{{.Response.ArrayValue.PascalName}}>{{else}}model.{{.Response.PascalName}}{{end}}{{else}}model.EmptyResponse{{end}})
) as {{if .Response}}{{if .Response.ArrayValue}}Array<{{$s.Package.Name}}.{{.Response.ArrayValue.PascalName}}>{{else}}{{template "type_for_response" .}}{{end}}{{else}}EmptyResponse{{end}})
}

{{if .Wait}}
/**
{{.Comment " * " 80}}
*/
@withLogContext(ExposedLoggers.SDK)
async {{.CamelName}}({{if .Request}}{{.Request.CamelName}}: model.{{.Request.PascalName}},{{end}}
async {{.CamelName}}({{if .Request}}{{.Request.CamelName}}: {{$s.Package.Name}}.{{.Request.PascalName}},{{end}}
@context context?: Context
): Promise<Waiter<{{template "type_for_response" .}}, {{template "type_for_poll_response" .}}>> {
let cancellationToken = context?.cancellationToken;
Expand Down Expand Up @@ -117,9 +119,9 @@ export class {{$s.PascalName}}Service {
{{.Comment " * " 80}}
*/
@withLogContext(ExposedLoggers.SDK)
async *{{.CamelName}}({{if .Request}}request: model.{{.Request.PascalName}},{{end}}
async *{{.CamelName}}({{if .Request}}request: {{$s.Package.Name}}.{{.Request.PascalName}},{{end}}
@context context?: Context
): AsyncIterable<model.{{.Pagination.Entity.PascalName}}> {
): AsyncIterable<{{$s.Package.Name}}.{{.Pagination.Entity.PascalName}}> {
{{if .Pagination.MultiRequest}}
{{if .Pagination.NeedsOffsetDedupe -}}
// deduplicate items that may have been added during iteration
Expand Down Expand Up @@ -184,7 +186,7 @@ export class {{$s.PascalName}}Service {
{{.Comment " * " 80}}
*/
@withLogContext(ExposedLoggers.SDK)
async {{.CamelName}}({{if .Request}}request: model.{{.Request.PascalName}},{{end}}
async {{.CamelName}}({{if .Request}}request: {{$s.Package.Name}}.{{.Request.PascalName}},{{end}}
@context context?: Context
): Promise<{{template "type_for_response" .}}>
{
Expand All @@ -196,17 +198,24 @@ export class {{$s.PascalName}}Service {
{{end}}

{{- define "type_for_response" -}}

{{if .Response}}
{{if .Response.ArrayValue}}
Array<model.{{.Response.ArrayValue.PascalName}}>
{{if .Response.ArrayValue.Package }}
Array<{{.Response.ArrayValue.Package.Name}}.{{.Response.ArrayValue.PascalName}}>
{{else}}
Array<{{.Service.Package.Name}}.{{.Response.ArrayValue.PascalName}}>
{{end}}
{{else if .Response.Package }}
{{.Response.Package.Name}}.{{.Response.PascalName}}
{{else}}
model.{{.Response.PascalName}}
{{.Service.Package.Name}}.{{.Response.PascalName}}
{{end}}
{{else}}
model.EmptyResponse
EmptyResponse
{{end}}
{{- end -}}

{{- define "type_for_poll_response" -}}
model.{{if .Wait.Poll.Response}}{{.Wait.Poll.Response.PascalName}}{{else}}{{.Wait.Poll.EmptyResponseName.PascalName}}{{end}}
{{.Service.Package.Name}}.{{if .Wait.Poll.Response}}{{.Wait.Poll.Response.PascalName}}{{else}}{{.Wait.Poll.EmptyResponseName.PascalName}}{{end}}
{{- end -}}
2 changes: 0 additions & 2 deletions packages/databricks-sdk-js/src/.codegen/model.ts.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,6 @@
{{end}}
{{end}}

export interface EmptyResponse {};

{{- define "type" -}}
{{- if not . }}any /* ERROR */
{{- else if .IsString}}string
Expand Down
2 changes: 2 additions & 0 deletions packages/databricks-sdk-js/src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,5 @@ export interface CancellationToken {
export interface Provider<T> {
(): Promise<T>;
}

export interface EmptyResponse {}

0 comments on commit 28cf6fd

Please sign in to comment.