@azure-tools/typespec-java 0.8.1 → 0.8.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,12 +1,16 @@
1
- import { ApiVersions, Parameter } from "@autorest/codemodel";
1
+ import { Operation } from "@typespec/compiler";
2
2
  import { Version } from "@typespec/versioning";
3
+ import { ApiVersions, Parameter } from "@autorest/codemodel";
4
+ import { SdkContext, SdkClient } from "@azure-tools/typespec-client-generator-core";
3
5
  export declare class ClientContext {
4
6
  baseUri: string;
5
7
  hostParameters: Parameter[];
6
8
  globalParameters: Parameter[];
7
9
  apiVersions?: string[];
10
+ ignoredOperations: Set<Operation>;
8
11
  constructor(baseUri: string, hostParameters: Parameter[], globalParameters: Parameter[], apiVersions?: ApiVersions);
9
12
  addGlobalParameter(parameter: Parameter): void;
10
13
  getAddedVersions(versions: Version[]): string[];
14
+ preProcessOperations(sdkContext: SdkContext, client: SdkClient): void;
11
15
  }
12
16
  //# sourceMappingURL=models.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,qBAAa,aAAa;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,SAAS,EAAE,CAAC;IAC5B,gBAAgB,EAAE,SAAS,EAAE,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;gBAEX,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,EAAE,gBAAgB,EAAE,SAAS,EAAE,EAAE,WAAW,CAAC,EAAE,WAAW;IAOlH,kBAAkB,CAAC,SAAS,EAAE,SAAS;IAMvC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE;CAiBhD"}
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EACL,UAAU,EACV,SAAS,EAGV,MAAM,6CAA6C,CAAC;AAErD,qBAAa,aAAa;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,SAAS,EAAE,CAAC;IAC5B,gBAAgB,EAAE,SAAS,EAAE,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,iBAAiB,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;gBAEtB,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,EAAE,gBAAgB,EAAE,SAAS,EAAE,EAAE,WAAW,CAAC,EAAE,WAAW;IAQlH,kBAAkB,CAAC,SAAS,EAAE,SAAS;IAMvC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE;IAkB/C,oBAAoB,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS;CAoB/D"}
@@ -1,9 +1,12 @@
1
+ import { getOperationLink } from "@azure-tools/typespec-azure-core";
2
+ import { listOperationGroups, listOperationsInOperationGroup, } from "@azure-tools/typespec-client-generator-core";
1
3
  export class ClientContext {
2
4
  constructor(baseUri, hostParameters, globalParameters, apiVersions) {
3
5
  this.baseUri = baseUri;
4
6
  this.hostParameters = hostParameters;
5
7
  this.globalParameters = globalParameters;
6
8
  this.apiVersions = apiVersions === null || apiVersions === void 0 ? void 0 : apiVersions.map((it) => it.version);
9
+ this.ignoredOperations = new Set();
7
10
  }
8
11
  addGlobalParameter(parameter) {
9
12
  if (!this.globalParameters.includes(parameter)) {
@@ -27,5 +30,24 @@ export class ClientContext {
27
30
  }
28
31
  return addedVersions;
29
32
  }
33
+ preProcessOperations(sdkContext, client) {
34
+ const operationGroups = listOperationGroups(sdkContext, client);
35
+ const operations = listOperationsInOperationGroup(sdkContext, client);
36
+ for (const operation of operations) {
37
+ const opLink = getOperationLink(sdkContext.program, operation, "polling");
38
+ if (opLink && opLink.linkedOperation) {
39
+ this.ignoredOperations.add(opLink.linkedOperation);
40
+ }
41
+ }
42
+ for (const operationGroup of operationGroups) {
43
+ const operations = listOperationsInOperationGroup(sdkContext, operationGroup);
44
+ for (const operation of operations) {
45
+ const opLink = getOperationLink(sdkContext.program, operation, "polling");
46
+ if (opLink && opLink.linkedOperation) {
47
+ this.ignoredOperations.add(opLink.linkedOperation);
48
+ }
49
+ }
50
+ }
51
+ }
30
52
  }
31
53
  //# sourceMappingURL=models.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/models.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,aAAa;IAMxB,YAAY,OAAe,EAAE,cAA2B,EAAE,gBAA6B,EAAE,WAAyB;QAChH,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED,kBAAkB,CAAC,SAAoB;QACrC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YAC9C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACvC;IACH,CAAC;IAED,gBAAgB,CAAC,QAAmB;QAClC,yCAAyC;QACzC,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,EAAG,CAAC,KAAK,CAAC;QAC7C,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,cAAc,GAAG,KAAK,CAAC;YAC3B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE;gBACtC,IAAI,OAAO,KAAK,YAAY,EAAE;oBAC5B,cAAc,GAAG,IAAI,CAAC;iBACvB;gBACD,IAAI,cAAc,EAAE;oBAClB,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC7B;aACF;SACF;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;CACF"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/models.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAGL,mBAAmB,EACnB,8BAA8B,GAC/B,MAAM,6CAA6C,CAAC;AAErD,MAAM,OAAO,aAAa;IAOxB,YAAY,OAAe,EAAE,cAA2B,EAAE,gBAA6B,EAAE,WAAyB;QAChH,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,iBAAiB,GAAG,IAAI,GAAG,EAAa,CAAC;IAChD,CAAC;IAED,kBAAkB,CAAC,SAAoB;QACrC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YAC9C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACvC;IACH,CAAC;IAED,gBAAgB,CAAC,QAAmB;QAClC,yCAAyC;QACzC,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,EAAG,CAAC,KAAK,CAAC;QAC7C,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,cAAc,GAAG,KAAK,CAAC;YAC3B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE;gBACtC,IAAI,OAAO,KAAK,YAAY,EAAE;oBAC5B,cAAc,GAAG,IAAI,CAAC;iBACvB;gBACD,IAAI,cAAc,EAAE;oBAClB,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC7B;aACF;SACF;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,oBAAoB,CAAC,UAAsB,EAAE,MAAiB;QAC5D,MAAM,eAAe,GAAG,mBAAmB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,8BAA8B,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACtE,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;YAClC,MAAM,MAAM,GAAG,gBAAgB,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAC1E,IAAI,MAAM,IAAI,MAAM,CAAC,eAAe,EAAE;gBACpC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;aACpD;SACF;QAED,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE;YAC5C,MAAM,UAAU,GAAG,8BAA8B,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;YAC9E,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;gBAClC,MAAM,MAAM,GAAG,gBAAgB,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;gBAC1E,IAAI,MAAM,IAAI,MAAM,CAAC,eAAe,EAAE;oBACpC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;iBACpD;aACF;SACF;IACH,CAAC;CACF"}
@@ -1,6 +1,6 @@
1
1
  import { ModelProperty, Operation, Program } from "@typespec/compiler";
2
2
  import { HttpOperation } from "@typespec/http";
3
- import { ApiVersions } from "@autorest/codemodel";
3
+ import { ApiVersions, Parameter } from "@autorest/codemodel";
4
4
  import { LroMetadata } from "@azure-tools/typespec-azure-core";
5
5
  import { Client as CodeModelClient, ServiceVersion } from "./common/client.js";
6
6
  import { CodeModel } from "./common/code-model.js";
@@ -13,5 +13,6 @@ export declare function operationIsMultipleContentTypes(httpOperation: HttpOpera
13
13
  export declare function isPayloadProperty(program: Program, property: ModelProperty): boolean;
14
14
  export declare function getClientApiVersions(client: CodeModelClient): ApiVersions | undefined;
15
15
  export declare function getServiceVersion(client: CodeModelClient | CodeModel): ServiceVersion;
16
- export declare function isLroNewPollingStrategy(operation: Operation, lroMetadata: LroMetadata): boolean;
16
+ export declare function isLroNewPollingStrategy(httpOperation: HttpOperation, lroMetadata: LroMetadata): boolean;
17
+ export declare function cloneOperationParameter(parameter: Parameter): Parameter;
17
18
  //# sourceMappingURL=operation-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"operation-utils.d.ts","sourceRoot":"","sources":["../../src/operation-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAA8C,MAAM,oBAAoB,CAAC;AACnH,OAAO,EACL,aAAa,EAMd,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAI9C,eAAO,MAAM,kBAAkB,aAI7B,CAAC;AAEH,eAAO,MAAM,gBAAgB,wCAAwC,CAAC;AAEtE,wBAAsB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAmD1G;AASD,wBAAgB,+BAA+B,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAS1E;AAED,wBAAgB,+BAA+B,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAarF;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,WAM1E;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,eAAe,GAAG,WAAW,GAAG,SAAS,CAMrF;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,GAAG,cAAc,CAcrF;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAsC/F"}
1
+ {"version":3,"file":"operation-utils.d.ts","sourceRoot":"","sources":["../../src/operation-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAA8C,MAAM,oBAAoB,CAAC;AACnH,OAAO,EACL,aAAa,EAMd,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAI9C,eAAO,MAAM,kBAAkB,aAI7B,CAAC;AAEH,eAAO,MAAM,gBAAgB,wCAAwC,CAAC;AAEtE,wBAAsB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAmD1G;AASD,wBAAgB,+BAA+B,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAS1E;AAED,wBAAgB,+BAA+B,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAarF;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,WAM1E;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,eAAe,GAAG,WAAW,GAAG,SAAS,CAMrF;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,GAAG,cAAc,CAcrF;AAED,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CA4CvG;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAcvE"}
@@ -1,6 +1,7 @@
1
1
  import { SyntaxKind, ignoreDiagnostics, resolvePath } from "@typespec/compiler";
2
2
  import { getHeaderFieldName, getQueryParamName, getPathParamName, isStatusCode, getAllHttpServices, } from "@typespec/http";
3
3
  import { resolveOperationId } from "@typespec/openapi";
4
+ import { Parameter } from "@autorest/codemodel";
4
5
  import { ServiceVersion } from "./common/client.js";
5
6
  import { getVersion } from "@typespec/versioning";
6
7
  import { getNamespace, logWarning, pascalCase } from "./utils.js";
@@ -122,7 +123,7 @@ export function getServiceVersion(client) {
122
123
  }
123
124
  return new ServiceVersion(name, description);
124
125
  }
125
- export function isLroNewPollingStrategy(operation, lroMetadata) {
126
+ export function isLroNewPollingStrategy(httpOperation, lroMetadata) {
126
127
  // at present, checks if operation uses template from Azure.Core
127
128
  const azureCoreLroSvs = [
128
129
  "LongRunningResourceCreateOrReplace",
@@ -131,7 +132,8 @@ export function isLroNewPollingStrategy(operation, lroMetadata) {
131
132
  "LongRunningResourceAction",
132
133
  "LongRunningRpcOperation",
133
134
  ];
134
- let ret = false;
135
+ const operation = httpOperation.operation;
136
+ let useNewStrategy = false;
135
137
  if (lroMetadata.pollingInfo &&
136
138
  lroMetadata.statusMonitorStep &&
137
139
  lroMetadata.pollingInfo.responseModel.name === "OperationStatus" &&
@@ -139,22 +141,39 @@ export function isLroNewPollingStrategy(operation, lroMetadata) {
139
141
  if (operation.node.signature.kind === SyntaxKind.OperationSignatureReference) {
140
142
  if (operation.node.signature.baseOperation.target.kind === SyntaxKind.MemberExpression) {
141
143
  const sv = operation.node.signature.baseOperation.target.id.sv;
142
- ret = azureCoreLroSvs.includes(sv);
144
+ useNewStrategy = azureCoreLroSvs.includes(sv);
143
145
  }
144
146
  }
145
147
  }
146
- return ret;
147
- // if (verb === "put" && !lroMetadata.finalStep) {
148
- // // PUT without last GET on resource
149
- // useNewPollStrategy = true;
150
- // } else if (
151
- // verb === "post" &&
152
- // lroMetadata.finalStep &&
153
- // lroMetadata.finalStep.kind === "pollingSuccessProperty" &&
154
- // lroMetadata.finalStep.target.name === "result"
155
- // ) {
156
- // // POST with final result in "result" property
157
- // useNewPollStrategy = true;
158
- // }
148
+ if (!useNewStrategy) {
149
+ // following 2 pattern in LroMetadata requires new polling strategy
150
+ if (httpOperation.verb === "put" && !lroMetadata.finalStep) {
151
+ // PUT without last GET on resource
152
+ useNewStrategy = true;
153
+ }
154
+ else if (httpOperation.verb === "post" &&
155
+ lroMetadata.finalStep &&
156
+ lroMetadata.finalStep.kind === "pollingSuccessProperty" &&
157
+ lroMetadata.finalStep.target.name === "result") {
158
+ // POST with final result in "result" property
159
+ useNewStrategy = true;
160
+ }
161
+ }
162
+ return useNewStrategy;
163
+ }
164
+ export function cloneOperationParameter(parameter) {
165
+ return new Parameter(parameter.language.default.name, parameter.language.default.description, parameter.schema, {
166
+ language: {
167
+ default: {
168
+ serializedName: parameter.language.default.serializedName,
169
+ },
170
+ },
171
+ protocol: parameter.protocol,
172
+ summary: parameter.summary,
173
+ implementation: parameter.implementation,
174
+ required: parameter.required,
175
+ nullable: parameter.nullable,
176
+ extensions: parameter.extensions,
177
+ });
159
178
  }
160
179
  //# sourceMappingURL=operation-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"operation-utils.js","sourceRoot":"","sources":["../../src/operation-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operation-utils.js","sourceRoot":"","sources":["../../src/operation-utils.ts"],"names":[],"mappings":"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"}