@azure-tools/typespec-java 0.37.4 → 0.38.0
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.map +1 -1
- package/dist/src/code-model-builder.js +46 -29
- package/dist/src/code-model-builder.js.map +1 -1
- package/dist/src/common/schemas/choice.d.ts.map +1 -1
- package/dist/src/common/schemas/choice.js.map +1 -1
- package/dist/src/models.d.ts +3 -2
- package/dist/src/models.d.ts.map +1 -1
- package/dist/src/models.js +9 -2
- package/dist/src/models.js.map +1 -1
- package/dist/src/operation-utils.js +2 -2
- package/dist/src/operation-utils.js.map +1 -1
- package/dist/src/versioning-utils.d.ts +19 -3
- package/dist/src/versioning-utils.d.ts.map +1 -1
- package/dist/src/versioning-utils.js +42 -7
- package/dist/src/versioning-utils.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/generator/http-client-generator/target/emitter.jar +0 -0
- package/package.json +12 -12
|
@@ -1,15 +1,31 @@
|
|
|
1
1
|
import { SdkClientType, SdkHttpOperation } from "@azure-tools/typespec-client-generator-core";
|
|
2
2
|
import { Program } from "@typespec/compiler";
|
|
3
3
|
import { Version } from "@typespec/versioning";
|
|
4
|
+
/**
|
|
5
|
+
* Sentinel values that describe a client that not have consistent api-versions.
|
|
6
|
+
* Reason is either the service is not versioned, or the client aggregates multiple services of different api-versions.
|
|
7
|
+
*/
|
|
8
|
+
export declare enum InconsistentVersions {
|
|
9
|
+
/**
|
|
10
|
+
* The client is not versioned.
|
|
11
|
+
*/
|
|
12
|
+
NotVersioned = 0,
|
|
13
|
+
/**
|
|
14
|
+
* The client contains multiple services which may have the same set or different set of api-versions.
|
|
15
|
+
*/
|
|
16
|
+
MixedVersions = 1
|
|
17
|
+
}
|
|
4
18
|
/**
|
|
5
19
|
* Gets the array of api-version on the TypeSpec service that contains this SDK client.
|
|
6
|
-
*
|
|
20
|
+
* Returns {@link InconsistentVersions.NotVersioned} when the service is not versioned and
|
|
21
|
+
* {@link InconsistentVersions.MixedVersions} when the client aggregates multiple services
|
|
22
|
+
* that disagree on api-version.
|
|
7
23
|
*
|
|
8
24
|
* @param program the program
|
|
9
25
|
* @param client the SDK client
|
|
10
|
-
* @returns the array of api-version
|
|
26
|
+
* @returns the array of api-version when there is only one service in the SDK client or an {@link InconsistentVersions} indicator when the SDK client is not versioned or has multiple versions.
|
|
11
27
|
*/
|
|
12
|
-
export declare function getServiceApiVersions(program: Program, client: SdkClientType<SdkHttpOperation>): Version[] |
|
|
28
|
+
export declare function getServiceApiVersions(program: Program, client: SdkClientType<SdkHttpOperation>): Version[] | InconsistentVersions;
|
|
13
29
|
/**
|
|
14
30
|
* Filter api-versions for "ServiceVersion".
|
|
15
31
|
* TODO(xiaofei) pending TCGC design: https://github.com/Azure/typespec-azure/issues/965
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"versioning-utils.d.ts","sourceRoot":"","sources":["../../src/versioning-utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAC9F,OAAO,EAAa,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAuC,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpF
|
|
1
|
+
{"version":3,"file":"versioning-utils.d.ts","sourceRoot":"","sources":["../../src/versioning-utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAC9F,OAAO,EAAa,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAuC,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpF;;;GAGG;AACH,oBAAY,oBAAoB;IAC9B;;OAEG;IACH,YAAY,IAAA;IACZ;;OAEG;IACH,aAAa,IAAA;CACd;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,aAAa,CAAC,gBAAgB,CAAC,GACtC,OAAO,EAAE,GAAG,oBAAoB,CAyBlC;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,QAAQ,EAAE,OAAO,EAAE,EACnB,cAAc,GAAE,OAAc,GAC7B,OAAO,EAAE,CAQX;AAMD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEjE;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAa1D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAuChF"}
|
|
@@ -1,20 +1,51 @@
|
|
|
1
1
|
import { isPreviewVersion } from "@azure-tools/typespec-azure-core";
|
|
2
2
|
import { findVersionedNamespace, getVersions } from "@typespec/versioning";
|
|
3
|
+
/**
|
|
4
|
+
* Sentinel values that describe a client that not have consistent api-versions.
|
|
5
|
+
* Reason is either the service is not versioned, or the client aggregates multiple services of different api-versions.
|
|
6
|
+
*/
|
|
7
|
+
export var InconsistentVersions;
|
|
8
|
+
(function (InconsistentVersions) {
|
|
9
|
+
/**
|
|
10
|
+
* The client is not versioned.
|
|
11
|
+
*/
|
|
12
|
+
InconsistentVersions[InconsistentVersions["NotVersioned"] = 0] = "NotVersioned";
|
|
13
|
+
/**
|
|
14
|
+
* The client contains multiple services which may have the same set or different set of api-versions.
|
|
15
|
+
*/
|
|
16
|
+
InconsistentVersions[InconsistentVersions["MixedVersions"] = 1] = "MixedVersions";
|
|
17
|
+
})(InconsistentVersions || (InconsistentVersions = {}));
|
|
3
18
|
/**
|
|
4
19
|
* Gets the array of api-version on the TypeSpec service that contains this SDK client.
|
|
5
|
-
*
|
|
20
|
+
* Returns {@link InconsistentVersions.NotVersioned} when the service is not versioned and
|
|
21
|
+
* {@link InconsistentVersions.MixedVersions} when the client aggregates multiple services
|
|
22
|
+
* that disagree on api-version.
|
|
6
23
|
*
|
|
7
24
|
* @param program the program
|
|
8
25
|
* @param client the SDK client
|
|
9
|
-
* @returns the array of api-version
|
|
26
|
+
* @returns the array of api-version when there is only one service in the SDK client or an {@link InconsistentVersions} indicator when the SDK client is not versioned or has multiple versions.
|
|
10
27
|
*/
|
|
11
28
|
export function getServiceApiVersions(program, client) {
|
|
12
|
-
// TODO: use client.apiVersions
|
|
13
|
-
// Also, this function lacks the logic of the handling of added/removed on the Namespace/Interface of the SDK client.
|
|
29
|
+
// TODO: use client.apiVersions
|
|
14
30
|
let apiVersions;
|
|
15
|
-
|
|
16
|
-
if (
|
|
17
|
-
|
|
31
|
+
// TCGC 0.63+ supports multiple api-version in a single client
|
|
32
|
+
if (Array.isArray(client.__raw.service)) {
|
|
33
|
+
// here, we treat a versioned client with multiple service as client of mixed versions
|
|
34
|
+
apiVersions = isSdkClientVersioned(client)
|
|
35
|
+
? InconsistentVersions.MixedVersions
|
|
36
|
+
: InconsistentVersions.NotVersioned;
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
const serviceNamespace = client.__raw.service;
|
|
40
|
+
const versionedNamespace = findVersionedNamespace(program, serviceNamespace);
|
|
41
|
+
if (versionedNamespace) {
|
|
42
|
+
apiVersions =
|
|
43
|
+
getVersions(program, versionedNamespace)[1]?.getVersions() ??
|
|
44
|
+
InconsistentVersions.NotVersioned;
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
apiVersions = InconsistentVersions.NotVersioned;
|
|
48
|
+
}
|
|
18
49
|
}
|
|
19
50
|
return apiVersions;
|
|
20
51
|
}
|
|
@@ -107,4 +138,8 @@ export function isVersionEarlierThan(version, compareTo) {
|
|
|
107
138
|
// Versions are identical
|
|
108
139
|
return false;
|
|
109
140
|
}
|
|
141
|
+
function isSdkClientVersioned(client) {
|
|
142
|
+
// on TCGC, the difference of versioned client and not versioned client is on the existence of "apiVersion" parameter in clientInitialization
|
|
143
|
+
return client.clientInitialization.parameters.some((p) => p.name === "apiVersion");
|
|
144
|
+
}
|
|
110
145
|
//# sourceMappingURL=versioning-utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"versioning-utils.js","sourceRoot":"","sources":["../../src/versioning-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAGpE,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAW,MAAM,sBAAsB,CAAC;AAEpF
|
|
1
|
+
{"version":3,"file":"versioning-utils.js","sourceRoot":"","sources":["../../src/versioning-utils.ts"],"names":[],"mappings":"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"}
|