@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.
- package/dist/src/code-model-builder.d.ts +1 -0
- package/dist/src/code-model-builder.d.ts.map +1 -1
- package/dist/src/code-model-builder.js +116 -22
- package/dist/src/code-model-builder.js.map +1 -1
- package/dist/src/emitter.d.ts +4 -3
- package/dist/src/emitter.d.ts.map +1 -1
- package/dist/src/emitter.js +3 -2
- package/dist/src/emitter.js.map +1 -1
- package/dist/src/models.d.ts +5 -1
- package/dist/src/models.d.ts.map +1 -1
- package/dist/src/models.js +22 -0
- package/dist/src/models.js.map +1 -1
- package/dist/src/operation-utils.d.ts +3 -2
- package/dist/src/operation-utils.d.ts.map +1 -1
- package/dist/src/operation-utils.js +35 -16
- package/dist/src/operation-utils.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/target/azure-typespec-extension-jar-with-dependencies.jar +0 -0
package/dist/src/models.d.ts
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
|
-
import {
|
|
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
|
package/dist/src/models.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
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"}
|
package/dist/src/models.js
CHANGED
|
@@ -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
|
package/dist/src/models.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/models.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,aAAa;
|
|
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(
|
|
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;
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
144
|
+
useNewStrategy = azureCoreLroSvs.includes(sv);
|
|
143
145
|
}
|
|
144
146
|
}
|
|
145
147
|
}
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
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":"AAAA,OAAO,EAAqC,UAAU,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACnH,OAAO,EAEL,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"operation-utils.js","sourceRoot":"","sources":["../../src/operation-utils.ts"],"names":[],"mappings":"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"}
|