@azure-tools/typespec-azure-resource-manager 0.43.0-dev.8 → 0.43.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/README.md +3 -3
- package/dist/src/common-types.d.ts +3 -2
- package/dist/src/common-types.d.ts.map +1 -1
- package/dist/src/common-types.js +48 -6
- package/dist/src/common-types.js.map +1 -1
- package/dist/src/commontypes.private.decorators.d.ts +44 -0
- package/dist/src/commontypes.private.decorators.d.ts.map +1 -0
- package/dist/src/commontypes.private.decorators.js +77 -0
- package/dist/src/commontypes.private.decorators.js.map +1 -0
- package/dist/src/lib.d.ts +17 -2
- package/dist/src/lib.d.ts.map +1 -1
- package/dist/src/lib.js +6 -0
- package/dist/src/lib.js.map +1 -1
- package/dist/src/namespace.d.ts.map +1 -1
- package/dist/src/namespace.js +35 -0
- package/dist/src/namespace.js.map +1 -1
- package/dist/src/private.decorators.d.ts +1 -42
- package/dist/src/private.decorators.d.ts.map +1 -1
- package/dist/src/private.decorators.js +0 -74
- package/dist/src/private.decorators.js.map +1 -1
- package/dist/src/rules/arm-common-types-version.d.ts.map +1 -1
- package/dist/src/rules/arm-common-types-version.js +2 -3
- package/dist/src/rules/arm-common-types-version.js.map +1 -1
- package/dist/src/rules/core-operations.js +1 -1
- package/dist/src/rules/core-operations.js.map +1 -1
- package/lib/Legacy/arm.legacy.tsp +1 -0
- package/lib/Legacy/managed-identity.tsp +74 -0
- package/lib/arm.tsp +3 -7
- package/lib/backcompat.tsp +27 -0
- package/lib/common-types/common-types.tsp +11 -1
- package/lib/common-types/commontypes.private.decorators.tsp +43 -0
- package/lib/common-types/customer-managed-keys-ref.tsp +27 -0
- package/lib/common-types/customer-managed-keys.tsp +37 -46
- package/lib/common-types/extended-location-ref.tsp +1 -0
- package/lib/common-types/extended-location.tsp +15 -16
- package/lib/common-types/internal.tsp +24 -0
- package/lib/common-types/managed-identity-ref.tsp +79 -0
- package/lib/common-types/managed-identity.tsp +50 -87
- package/lib/common-types/private-links-ref.tsp +159 -0
- package/lib/common-types/private-links.tsp +55 -101
- package/lib/common-types/types-ref.tsp +414 -0
- package/lib/common-types/types.tsp +323 -201
- package/lib/decorators.tsp +1 -1
- package/lib/{arm.foundations.tsp → foundations/arm.foundations.tsp} +28 -22
- package/lib/foundations/backcompat.tsp +39 -0
- package/lib/{common-types/backcompat.tsp → foundations/deprecation.tsp} +11 -0
- package/lib/models.tsp +25 -5
- package/lib/parameters.tsp +14 -67
- package/lib/private.decorators.tsp +0 -38
- package/lib/responses.tsp +1 -13
- package/package.json +14 -14
package/README.md
CHANGED
|
@@ -103,9 +103,9 @@ the version of the Azure Resource Manager common-types to use for refs in emitte
|
|
|
103
103
|
|
|
104
104
|
##### Parameters
|
|
105
105
|
|
|
106
|
-
| Name | Type | Description
|
|
107
|
-
| ------- | ------------------------------ |
|
|
108
|
-
| version | `valueof string \| EnumMember` | The Azure.ResourceManager.CommonTypes.Versions for the desired common-types version or an equivalent string value. |
|
|
106
|
+
| Name | Type | Description |
|
|
107
|
+
| ------- | ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------- |
|
|
108
|
+
| version | `valueof string \| EnumMember` | The Azure.ResourceManager.CommonTypes.Versions for the desired common-types version or an equivalent string value like "v5". |
|
|
109
109
|
|
|
110
110
|
#### `@armLibraryNamespace`
|
|
111
111
|
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { DecoratorContext, Diagnostic, Enum, EnumMember, EnumValue, Model, ModelProperty, Namespace, Program, Service, Type } from "@typespec/compiler";
|
|
2
|
-
import { ArmCommonTypeRecord } from "./private.decorators.js";
|
|
2
|
+
import { ArmCommonTypeRecord } from "./commontypes.private.decorators.js";
|
|
3
3
|
export interface ArmCommonTypeVersions {
|
|
4
4
|
type: Enum;
|
|
5
5
|
allVersions: EnumMember[];
|
|
6
6
|
}
|
|
7
|
-
export declare function getArmCommonTypesVersions(program: Program): ArmCommonTypeVersions
|
|
7
|
+
export declare function getArmCommonTypesVersions(program: Program): ArmCommonTypeVersions;
|
|
8
|
+
export declare function getArmCommonTypesVersionFromString(program: Program, entity: Namespace | EnumMember, versionStr: string): [EnumMember | undefined, readonly Diagnostic[]];
|
|
8
9
|
/**
|
|
9
10
|
* Check if a given model or model property is an ARM common type.
|
|
10
11
|
* @param {Type} entity - The entity to be checked.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common-types.d.ts","sourceRoot":"","sources":["../../src/common-types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,IAAI,EACJ,UAAU,EACV,SAAS,EACT,KAAK,EACL,aAAa,EACb,SAAS,EACT,OAAO,EACP,OAAO,EACP,IAAI,EAEL,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"common-types.d.ts","sourceRoot":"","sources":["../../src/common-types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,IAAI,EACJ,UAAU,EACV,SAAS,EACT,KAAK,EACL,aAAa,EACb,SAAS,EACT,OAAO,EACP,OAAO,EACP,IAAI,EAEL,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,mBAAmB,EAGpB,MAAM,qCAAqC,CAAC;AAI7C,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,IAAI,CAAC;IACX,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,qBAAqB,CAKjF;AAED,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,SAAS,GAAG,UAAU,EAC9B,UAAU,EAAE,MAAM,GACjB,CAAC,UAAU,GAAG,SAAS,EAAE,SAAS,UAAU,EAAE,CAAC,CAuBjD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,IAAI,GAAG,OAAO,CAQrD;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,GAAG,UAAU,EAC9B,OAAO,EAAE,MAAM,GAAG,SAAS,QA8B5B;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,SAAS,GAAG,UAAU,GAC7B,MAAM,GAAG,SAAS,CAEpB;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,KAAK,GAAG,aAAa,EAC7B,MAAM,EAAE,+BAA+B,GACtC,MAAM,GAAG,SAAS,CAWpB;AAOD,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,KAAK,GAAG,aAAa,EAC7B,MAAM,EAAE,+BAA+B,GACtC,CAAC,mBAAmB,GAAG,SAAS,EAAE,SAAS,UAAU,EAAE,CAAC,CAgD1D"}
|
package/dist/src/common-types.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { isTypeSpecValueTypeOf, } from "@typespec/compiler";
|
|
2
|
-
import { getVersion } from "@typespec/versioning";
|
|
2
|
+
import { $useDependency, getVersion } from "@typespec/versioning";
|
|
3
|
+
import { ArmCommonTypesDefaultVersion, getCommonTypeRecords, } from "./commontypes.private.decorators.js";
|
|
3
4
|
import { createDiagnostic } from "./lib.js";
|
|
4
|
-
import { ArmCommonTypesDefaultVersion, getCommonTypeRecords, } from "./private.decorators.js";
|
|
5
5
|
import { ArmStateKeys } from "./state.js";
|
|
6
6
|
export function getArmCommonTypesVersions(program) {
|
|
7
7
|
// There is a single instance of ArmCommonTypeVersions stored inside of the
|
|
@@ -9,6 +9,27 @@ export function getArmCommonTypesVersions(program) {
|
|
|
9
9
|
const map = program.stateMap(ArmStateKeys.armCommonTypesVersions);
|
|
10
10
|
return map?.values().next().value;
|
|
11
11
|
}
|
|
12
|
+
export function getArmCommonTypesVersionFromString(program, entity, versionStr) {
|
|
13
|
+
const commonTypeVersionEnum = program.resolveTypeReference(`Azure.ResourceManager.CommonTypes.Versions.${versionStr}`)[0];
|
|
14
|
+
if (commonTypeVersionEnum === undefined) {
|
|
15
|
+
return [
|
|
16
|
+
undefined,
|
|
17
|
+
[
|
|
18
|
+
createDiagnostic({
|
|
19
|
+
code: "arm-common-types-invalid-version",
|
|
20
|
+
target: entity,
|
|
21
|
+
format: {
|
|
22
|
+
versionString: versionStr,
|
|
23
|
+
supportedVersions: [...getArmCommonTypesVersions(program).type.members.keys()].join(", "),
|
|
24
|
+
},
|
|
25
|
+
}),
|
|
26
|
+
],
|
|
27
|
+
];
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
return [commonTypeVersionEnum, []];
|
|
31
|
+
}
|
|
32
|
+
}
|
|
12
33
|
/**
|
|
13
34
|
* Check if a given model or model property is an ARM common type.
|
|
14
35
|
* @param {Type} entity - The entity to be checked.
|
|
@@ -27,9 +48,29 @@ export function isArmCommonType(entity) {
|
|
|
27
48
|
* @param {type} entity Target of the decorator. Must be `Namespace` or `EnumMember` type
|
|
28
49
|
*/
|
|
29
50
|
export function $armCommonTypesVersion(context, entity, version) {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
51
|
+
// try convert string to EnumMember
|
|
52
|
+
let versionEnum;
|
|
53
|
+
if (typeof version === "string") {
|
|
54
|
+
const [foundEnumMember, diagnostics] = getArmCommonTypesVersionFromString(context.program, entity, version);
|
|
55
|
+
if (!foundEnumMember) {
|
|
56
|
+
context.program.reportDiagnostics(diagnostics);
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
versionEnum = foundEnumMember;
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
versionEnum = version.value;
|
|
63
|
+
}
|
|
64
|
+
context.program.stateMap(ArmStateKeys.armCommonTypesVersion).set(entity, versionEnum.name);
|
|
65
|
+
if (entity.kind === "Namespace") {
|
|
66
|
+
const versioned = entity.decorators.find((x) => x.definition?.name === "@versioned");
|
|
67
|
+
// If it is versioned namespace, we will skip adding @useDependency to namespace
|
|
68
|
+
if (versioned) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
// Add @useDependency on version enum members or on unversioned namespace
|
|
73
|
+
context.call($useDependency, entity, versionEnum);
|
|
33
74
|
}
|
|
34
75
|
/**
|
|
35
76
|
* Returns the ARM common-types version used by the service.
|
|
@@ -76,10 +117,11 @@ export function findArmCommonTypeRecord(program, entity, params) {
|
|
|
76
117
|
}
|
|
77
118
|
}
|
|
78
119
|
}
|
|
79
|
-
|
|
120
|
+
if (record === undefined) {
|
|
80
121
|
// If no version was found, use the default version
|
|
81
122
|
record = records[defaultKey ?? ArmCommonTypesDefaultVersion];
|
|
82
123
|
}
|
|
124
|
+
// If after resolve version AND unable to load default version, report diagnostic
|
|
83
125
|
if (record === undefined) {
|
|
84
126
|
return [
|
|
85
127
|
undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common-types.js","sourceRoot":"","sources":["../../src/common-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAYL,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"common-types.js","sourceRoot":"","sources":["../../src/common-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { DecoratorContext, Enum, EnumValue, Model, ModelProperty, Program } from "@typespec/compiler";
|
|
2
|
+
export declare const namespace = "Azure.ResourceManager.CommonTypes.Private";
|
|
3
|
+
export declare const ArmCommonTypesDefaultVersion = "v3";
|
|
4
|
+
export interface ArmCommonTypeRecord {
|
|
5
|
+
name: string;
|
|
6
|
+
kind: "definitions" | "parameters";
|
|
7
|
+
version: string;
|
|
8
|
+
basePath: string;
|
|
9
|
+
referenceFile?: string;
|
|
10
|
+
}
|
|
11
|
+
export interface ArmCommonTypeRecords {
|
|
12
|
+
records: {
|
|
13
|
+
[key: string]: ArmCommonTypeRecord;
|
|
14
|
+
};
|
|
15
|
+
defaultKey?: string;
|
|
16
|
+
}
|
|
17
|
+
export declare function getCommonTypeRecords(program: Program, entity: Model | ModelProperty): ArmCommonTypeRecords;
|
|
18
|
+
interface ArmCommonTypeVersionSpec {
|
|
19
|
+
version: string | EnumValue;
|
|
20
|
+
isDefault: boolean;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Refer an model property to be a common ARM parameter
|
|
24
|
+
* @param {DecoratorContext} context DecoratorContext object
|
|
25
|
+
* @param {Type} entity Decorator target type. Must be `Model`
|
|
26
|
+
* @param {string?} definitionName Optional definition name
|
|
27
|
+
* @param {string?} version Optional version
|
|
28
|
+
* @param {string?} referenceFile Optional common file path
|
|
29
|
+
* @returns void
|
|
30
|
+
*/
|
|
31
|
+
export declare function $armCommonParameter(context: DecoratorContext, entity: ModelProperty, parameterName?: string, version?: string | EnumValue | ArmCommonTypeVersionSpec, referenceFile?: string): void;
|
|
32
|
+
/**
|
|
33
|
+
* Using ARM common definition for a Model
|
|
34
|
+
* @param {DecoratorContext} context DecoratorContext object
|
|
35
|
+
* @param {Type} entity Decorator target type. Must be `Model`
|
|
36
|
+
* @param {string?} definitionName Optional definition name
|
|
37
|
+
* @param {string?} version Optional version
|
|
38
|
+
* @param {string?} referenceFile Optional common file path
|
|
39
|
+
* @returns {void}
|
|
40
|
+
*/
|
|
41
|
+
export declare function $armCommonDefinition(context: DecoratorContext, entity: Model, definitionName?: string, version?: string | EnumValue | ArmCommonTypeVersionSpec, referenceFile?: string): void;
|
|
42
|
+
export declare function $armCommonTypesVersions(context: DecoratorContext, enumType: Enum): void;
|
|
43
|
+
export {};
|
|
44
|
+
//# sourceMappingURL=commontypes.private.decorators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commontypes.private.decorators.d.ts","sourceRoot":"","sources":["../../src/commontypes.private.decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,IAAI,EACJ,SAAS,EACT,KAAK,EACL,aAAa,EACb,OAAO,EACR,MAAM,oBAAoB,CAAC;AAG5B,eAAO,MAAM,SAAS,8CAA8C,CAAC;AAErE,eAAO,MAAM,4BAA4B,OAAO,CAAC;AA4CjD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,aAAa,GAAG,YAAY,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAAA;KAAE,CAAC;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,KAAK,GAAG,aAAa,GAC5B,oBAAoB,CAEtB;AAED,UAAU,wBAAwB;IAChC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,aAAa,CAAC,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,wBAAwB,EACvD,aAAa,CAAC,EAAE,MAAM,GACrB,IAAI,CAON;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EACb,cAAc,CAAC,EAAE,MAAM,EACvB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,wBAAwB,EACvD,aAAa,CAAC,EAAE,MAAM,GACrB,IAAI,CAON;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,QAKhF"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { ArmStateKeys } from "./state.js";
|
|
2
|
+
export const namespace = "Azure.ResourceManager.CommonTypes.Private";
|
|
3
|
+
export const ArmCommonTypesDefaultVersion = "v3";
|
|
4
|
+
function getArmTypesPath(program) {
|
|
5
|
+
return program.getOption("arm-types-path") || "{arm-types-dir}";
|
|
6
|
+
}
|
|
7
|
+
function storeCommonTypeRecord(context, entity, kind, name, version, referenceFile) {
|
|
8
|
+
const basePath = getArmTypesPath(context.program).trim();
|
|
9
|
+
// NOTE: Right now we don't try to prevent multiple versions from declaring that they are the default
|
|
10
|
+
let isDefault = false;
|
|
11
|
+
if (version && typeof version !== "string" && !("valueKind" in version)) {
|
|
12
|
+
isDefault = !!version.isDefault;
|
|
13
|
+
version = version.version;
|
|
14
|
+
}
|
|
15
|
+
// for backward compatibility, skip if we are trying to access a non-default file and emit the type
|
|
16
|
+
if ((version || referenceFile) && basePath.endsWith(".json"))
|
|
17
|
+
return;
|
|
18
|
+
if (!version)
|
|
19
|
+
version = ArmCommonTypesDefaultVersion;
|
|
20
|
+
if (!referenceFile)
|
|
21
|
+
referenceFile = "types.json";
|
|
22
|
+
const versionStr = typeof version === "string" ? version : version.value.name;
|
|
23
|
+
const records = getCommonTypeRecords(context.program, entity);
|
|
24
|
+
records.records[versionStr] = {
|
|
25
|
+
name,
|
|
26
|
+
kind,
|
|
27
|
+
version: versionStr,
|
|
28
|
+
basePath,
|
|
29
|
+
referenceFile,
|
|
30
|
+
};
|
|
31
|
+
if (isDefault) {
|
|
32
|
+
records.defaultKey = versionStr;
|
|
33
|
+
}
|
|
34
|
+
context.program.stateMap(ArmStateKeys.armCommonDefinitions).set(entity, records);
|
|
35
|
+
}
|
|
36
|
+
export function getCommonTypeRecords(program, entity) {
|
|
37
|
+
return program.stateMap(ArmStateKeys.armCommonDefinitions).get(entity) ?? { records: {} };
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Refer an model property to be a common ARM parameter
|
|
41
|
+
* @param {DecoratorContext} context DecoratorContext object
|
|
42
|
+
* @param {Type} entity Decorator target type. Must be `Model`
|
|
43
|
+
* @param {string?} definitionName Optional definition name
|
|
44
|
+
* @param {string?} version Optional version
|
|
45
|
+
* @param {string?} referenceFile Optional common file path
|
|
46
|
+
* @returns void
|
|
47
|
+
*/
|
|
48
|
+
export function $armCommonParameter(context, entity, parameterName, version, referenceFile) {
|
|
49
|
+
// Use the name of the model type if not specified
|
|
50
|
+
if (!parameterName) {
|
|
51
|
+
parameterName = entity.name;
|
|
52
|
+
}
|
|
53
|
+
storeCommonTypeRecord(context, entity, "parameters", parameterName, version, referenceFile);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Using ARM common definition for a Model
|
|
57
|
+
* @param {DecoratorContext} context DecoratorContext object
|
|
58
|
+
* @param {Type} entity Decorator target type. Must be `Model`
|
|
59
|
+
* @param {string?} definitionName Optional definition name
|
|
60
|
+
* @param {string?} version Optional version
|
|
61
|
+
* @param {string?} referenceFile Optional common file path
|
|
62
|
+
* @returns {void}
|
|
63
|
+
*/
|
|
64
|
+
export function $armCommonDefinition(context, entity, definitionName, version, referenceFile) {
|
|
65
|
+
// Use the name of the model type if not specified
|
|
66
|
+
if (!definitionName) {
|
|
67
|
+
definitionName = entity.name;
|
|
68
|
+
}
|
|
69
|
+
storeCommonTypeRecord(context, entity, "definitions", definitionName, version, referenceFile);
|
|
70
|
+
}
|
|
71
|
+
export function $armCommonTypesVersions(context, enumType) {
|
|
72
|
+
context.program.stateMap(ArmStateKeys.armCommonTypesVersions).set(enumType, {
|
|
73
|
+
type: enumType,
|
|
74
|
+
allVersions: Array.from(enumType.members.values()).reverse(),
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=commontypes.private.decorators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commontypes.private.decorators.js","sourceRoot":"","sources":["../../src/commontypes.private.decorators.ts"],"names":[],"mappings":"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"}
|
package/dist/src/lib.d.ts
CHANGED
|
@@ -32,6 +32,9 @@ export declare const $lib: import("@typespec/compiler").TypeSpecLibrary<{
|
|
|
32
32
|
"arm-common-types-incompatible-version": {
|
|
33
33
|
default: import("@typespec/compiler").CallableMessage<[string, string]>;
|
|
34
34
|
};
|
|
35
|
+
"arm-common-types-invalid-version": {
|
|
36
|
+
default: import("@typespec/compiler").CallableMessage<[string, string]>;
|
|
37
|
+
};
|
|
35
38
|
"decorator-in-namespace": {
|
|
36
39
|
default: import("@typespec/compiler").CallableMessage<[string]>;
|
|
37
40
|
};
|
|
@@ -45,7 +48,7 @@ export declare const $lib: import("@typespec/compiler").TypeSpecLibrary<{
|
|
|
45
48
|
default: import("@typespec/compiler").CallableMessage<[string, string, string, string]>;
|
|
46
49
|
};
|
|
47
50
|
}, Record<string, any>, never>;
|
|
48
|
-
export declare const reportDiagnostic: <C extends "single-arm-provider" | "decorator-param-wrong-type" | "arm-resource-circular-ancestry" | "arm-resource-duplicate-base-parameter" | "arm-resource-missing-name-property" | "arm-resource-missing-name-key-decorator" | "arm-resource-missing-name-segment-decorator" | "arm-resource-missing-arm-namespace" | "arm-resource-invalid-base-type" | "arm-resource-missing" | "arm-common-types-incompatible-version" | "decorator-in-namespace" | "parent-type" | "resource-without-path-and-segment" | "template-type-constraint-no-met", M extends keyof {
|
|
51
|
+
export declare const reportDiagnostic: <C extends "single-arm-provider" | "decorator-param-wrong-type" | "arm-resource-circular-ancestry" | "arm-resource-duplicate-base-parameter" | "arm-resource-missing-name-property" | "arm-resource-missing-name-key-decorator" | "arm-resource-missing-name-segment-decorator" | "arm-resource-missing-arm-namespace" | "arm-resource-invalid-base-type" | "arm-resource-missing" | "arm-common-types-incompatible-version" | "arm-common-types-invalid-version" | "decorator-in-namespace" | "parent-type" | "resource-without-path-and-segment" | "template-type-constraint-no-met", M extends keyof {
|
|
49
52
|
"single-arm-provider": {
|
|
50
53
|
default: string;
|
|
51
54
|
};
|
|
@@ -79,6 +82,9 @@ export declare const reportDiagnostic: <C extends "single-arm-provider" | "decor
|
|
|
79
82
|
"arm-common-types-incompatible-version": {
|
|
80
83
|
default: import("@typespec/compiler").CallableMessage<[string, string]>;
|
|
81
84
|
};
|
|
85
|
+
"arm-common-types-invalid-version": {
|
|
86
|
+
default: import("@typespec/compiler").CallableMessage<[string, string]>;
|
|
87
|
+
};
|
|
82
88
|
"decorator-in-namespace": {
|
|
83
89
|
default: import("@typespec/compiler").CallableMessage<[string]>;
|
|
84
90
|
};
|
|
@@ -125,6 +131,9 @@ export declare const reportDiagnostic: <C extends "single-arm-provider" | "decor
|
|
|
125
131
|
"arm-common-types-incompatible-version": {
|
|
126
132
|
default: import("@typespec/compiler").CallableMessage<[string, string]>;
|
|
127
133
|
};
|
|
134
|
+
"arm-common-types-invalid-version": {
|
|
135
|
+
default: import("@typespec/compiler").CallableMessage<[string, string]>;
|
|
136
|
+
};
|
|
128
137
|
"decorator-in-namespace": {
|
|
129
138
|
default: import("@typespec/compiler").CallableMessage<[string]>;
|
|
130
139
|
};
|
|
@@ -137,7 +146,7 @@ export declare const reportDiagnostic: <C extends "single-arm-provider" | "decor
|
|
|
137
146
|
"template-type-constraint-no-met": {
|
|
138
147
|
default: import("@typespec/compiler").CallableMessage<[string, string, string, string]>;
|
|
139
148
|
};
|
|
140
|
-
}, C, M>) => void, createDiagnostic: <C extends "single-arm-provider" | "decorator-param-wrong-type" | "arm-resource-circular-ancestry" | "arm-resource-duplicate-base-parameter" | "arm-resource-missing-name-property" | "arm-resource-missing-name-key-decorator" | "arm-resource-missing-name-segment-decorator" | "arm-resource-missing-arm-namespace" | "arm-resource-invalid-base-type" | "arm-resource-missing" | "arm-common-types-incompatible-version" | "decorator-in-namespace" | "parent-type" | "resource-without-path-and-segment" | "template-type-constraint-no-met", M extends keyof {
|
|
149
|
+
}, C, M>) => void, createDiagnostic: <C extends "single-arm-provider" | "decorator-param-wrong-type" | "arm-resource-circular-ancestry" | "arm-resource-duplicate-base-parameter" | "arm-resource-missing-name-property" | "arm-resource-missing-name-key-decorator" | "arm-resource-missing-name-segment-decorator" | "arm-resource-missing-arm-namespace" | "arm-resource-invalid-base-type" | "arm-resource-missing" | "arm-common-types-incompatible-version" | "arm-common-types-invalid-version" | "decorator-in-namespace" | "parent-type" | "resource-without-path-and-segment" | "template-type-constraint-no-met", M extends keyof {
|
|
141
150
|
"single-arm-provider": {
|
|
142
151
|
default: string;
|
|
143
152
|
};
|
|
@@ -171,6 +180,9 @@ export declare const reportDiagnostic: <C extends "single-arm-provider" | "decor
|
|
|
171
180
|
"arm-common-types-incompatible-version": {
|
|
172
181
|
default: import("@typespec/compiler").CallableMessage<[string, string]>;
|
|
173
182
|
};
|
|
183
|
+
"arm-common-types-invalid-version": {
|
|
184
|
+
default: import("@typespec/compiler").CallableMessage<[string, string]>;
|
|
185
|
+
};
|
|
174
186
|
"decorator-in-namespace": {
|
|
175
187
|
default: import("@typespec/compiler").CallableMessage<[string]>;
|
|
176
188
|
};
|
|
@@ -217,6 +229,9 @@ export declare const reportDiagnostic: <C extends "single-arm-provider" | "decor
|
|
|
217
229
|
"arm-common-types-incompatible-version": {
|
|
218
230
|
default: import("@typespec/compiler").CallableMessage<[string, string]>;
|
|
219
231
|
};
|
|
232
|
+
"arm-common-types-invalid-version": {
|
|
233
|
+
default: import("@typespec/compiler").CallableMessage<[string, string]>;
|
|
234
|
+
};
|
|
220
235
|
"decorator-in-namespace": {
|
|
221
236
|
default: import("@typespec/compiler").CallableMessage<[string]>;
|
|
222
237
|
};
|
package/dist/src/lib.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,IAAI
|
|
1
|
+
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BA2Gf,CAAC;AAEH,eAAO,MAAQ,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAE,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oDAAS,CAAC"}
|
package/dist/src/lib.js
CHANGED
|
@@ -68,6 +68,12 @@ export const $lib = createTypeSpecLibrary({
|
|
|
68
68
|
default: paramMessage `No ARM common-types version for this type satisfies the expected version ${"selectedVersion"}. This type only supports the following version(s): ${"supportedVersions"}`,
|
|
69
69
|
},
|
|
70
70
|
},
|
|
71
|
+
"arm-common-types-invalid-version": {
|
|
72
|
+
severity: "error",
|
|
73
|
+
messages: {
|
|
74
|
+
default: paramMessage `No ARM common-types version matches the version string ${"versionString"}. The following versions are supported: ${"supportedVersions"}`,
|
|
75
|
+
},
|
|
76
|
+
},
|
|
71
77
|
"decorator-in-namespace": {
|
|
72
78
|
severity: "error",
|
|
73
79
|
messages: {
|
package/dist/src/lib.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEzE,MAAM,CAAC,MAAM,IAAI,GAAG,qBAAqB,CAAC;IACxC,IAAI,EAAE,8CAA8C;IACpD,WAAW,EAAE;QACX,qBAAqB,EAAE;YACrB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,4EAA4E;aACtF;SACF;QACD,4BAA4B,EAAE;YAC5B,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,0BAA0B,EACxB,gGAAgG;aACnG;SACF;QACD,gCAAgC,EAAE;YAChC,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EACL,oLAAoL;aACvL;SACF;QACD,uCAAuC,EAAE;YACvC,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EACL,uNAAuN;aAC1N;SACF;QACD,oCAAoC,EAAE;YACpC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,8DAA8D;aACxE;SACF;QACD,yCAAyC,EAAE;YACzC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EACL,sFAAsF;aACzF;SACF;QACD,6CAA6C,EAAE;YAC7C,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EACL,+FAA+F;aAClG;SACF;QACD,oCAAoC,EAAE;YACpC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EACL,iJAAiJ;aACpJ;SACF;QACD,gCAAgC,EAAE;YAChC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EACL,6IAA6I;aAChJ;SACF;QACD,sBAAsB,EAAE;YACtB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,+CAA+C,MAAM,EAAE;aAC7E;SACF;QACD,uCAAuC,EAAE;YACvC,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,4EAA4E,iBAAiB,wDAAwD,mBAAmB,EAAE;aAChM;SACF;QACD,wBAAwB,EAAE;YACxB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,QAAQ,eAAe,uFAAuF;aACpI;SACF;QACD,aAAa,EAAE;YACb,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,eAAe,EAAE,YAAY,CAAA,eAAe,QAAQ,OAAO,MAAM,6CAA6C;aAC/G;SACF;QACD,mCAAmC,EAAE;YACnC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,6EAA6E;aACvF;SACF;QACD,iCAAiC,EAAE;YACjC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,2BAA2B,YAAY,UAAU,QAAQ,0CAA0C,gBAAgB,MAAM,eAAe,EAAE;aAChK;SACF;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC"}
|
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEzE,MAAM,CAAC,MAAM,IAAI,GAAG,qBAAqB,CAAC;IACxC,IAAI,EAAE,8CAA8C;IACpD,WAAW,EAAE;QACX,qBAAqB,EAAE;YACrB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,4EAA4E;aACtF;SACF;QACD,4BAA4B,EAAE;YAC5B,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,0BAA0B,EACxB,gGAAgG;aACnG;SACF;QACD,gCAAgC,EAAE;YAChC,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EACL,oLAAoL;aACvL;SACF;QACD,uCAAuC,EAAE;YACvC,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EACL,uNAAuN;aAC1N;SACF;QACD,oCAAoC,EAAE;YACpC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,8DAA8D;aACxE;SACF;QACD,yCAAyC,EAAE;YACzC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EACL,sFAAsF;aACzF;SACF;QACD,6CAA6C,EAAE;YAC7C,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EACL,+FAA+F;aAClG;SACF;QACD,oCAAoC,EAAE;YACpC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EACL,iJAAiJ;aACpJ;SACF;QACD,gCAAgC,EAAE;YAChC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EACL,6IAA6I;aAChJ;SACF;QACD,sBAAsB,EAAE;YACtB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,+CAA+C,MAAM,EAAE;aAC7E;SACF;QACD,uCAAuC,EAAE;YACvC,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,4EAA4E,iBAAiB,wDAAwD,mBAAmB,EAAE;aAChM;SACF;QACD,kCAAkC,EAAE;YAClC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,0DAA0D,eAAe,4CAA4C,mBAAmB,EAAE;aAChK;SACF;QACD,wBAAwB,EAAE;YACxB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,QAAQ,eAAe,uFAAuF;aACpI;SACF;QACD,aAAa,EAAE;YACb,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,eAAe,EAAE,YAAY,CAAA,eAAe,QAAQ,OAAO,MAAM,6CAA6C;aAC/G;SACF;QACD,mCAAmC,EAAE;YACnC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,6EAA6E;aACvF;SACF;QACD,iCAAiC,EAAE;YACjC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,2BAA2B,YAAY,UAAU,QAAQ,0CAA0C,gBAAgB,MAAM,eAAe,EAAE;aAChK;SACF;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../src/namespace.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,
|
|
1
|
+
{"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../src/namespace.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAIhB,KAAK,EAEL,SAAS,EAET,OAAO,EAGR,MAAM,oBAAoB,CAAC;AAiC5B;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,QAUhF;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAErF;AASD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,GAAG,UAAU,EAAE,SAAS,EAAE,QAU3B;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,GACnB,SAAS,EAAE,GAAG,SAAS,CAEzB;AAQD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,oBAAoB,CAAC,EAAE,MAAM,QAqH9B;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,SAAS,GAAG,KAAK,GACxB,MAAM,GAAG,SAAS,CAiBpB"}
|
package/dist/src/namespace.js
CHANGED
|
@@ -3,9 +3,23 @@ import { addService, getNamespaceFullName, } from "@typespec/compiler";
|
|
|
3
3
|
import * as http from "@typespec/http";
|
|
4
4
|
import { getAuthentication, setAuthentication, setRouteOptionsForNamespace } from "@typespec/http";
|
|
5
5
|
import { getResourceTypeForKeyParam } from "@typespec/rest";
|
|
6
|
+
import { $armCommonTypesVersion } from "./common-types.js";
|
|
6
7
|
import { reportDiagnostic } from "./lib.js";
|
|
7
8
|
import { getSingletonResourceKey } from "./resource.js";
|
|
8
9
|
import { ArmStateKeys } from "./state.js";
|
|
10
|
+
function getArmCommonTypesVersion(context, entity) {
|
|
11
|
+
return entity.decorators.find((x) => x.definition?.name === "@armCommonTypesVersion")?.args[0]
|
|
12
|
+
.jsValue;
|
|
13
|
+
}
|
|
14
|
+
function setArmCommonTypesVersionIfDoesnotExist(context, entity, commonTypeVersion) {
|
|
15
|
+
// Determine whether to set a default ARM CommonTypes.Version
|
|
16
|
+
const armCommonTypesVersion = entity.decorators.find((x) => x.definition?.name === "@armCommonTypesVersion");
|
|
17
|
+
// if no existing @armCommonTypesVersion decorator, add default.
|
|
18
|
+
// This will NOT cause error if overrode on version enum.
|
|
19
|
+
if (!armCommonTypesVersion) {
|
|
20
|
+
context.call($armCommonTypesVersion, entity, commonTypeVersion);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
9
23
|
/**
|
|
10
24
|
* Mark the target namespace as containign only ARM library types. This is used to create libraries to share among RPs
|
|
11
25
|
* @param context The doecorator context, automatically supplied by the compiler
|
|
@@ -17,6 +31,7 @@ export function $armLibraryNamespace(context, entity) {
|
|
|
17
31
|
// until Azure.Core-compatible operations are implemented for Azure.ResourceManager
|
|
18
32
|
__unsupported_enable_checkStandardOperations(false);
|
|
19
33
|
program.stateMap(ArmStateKeys.armLibraryNamespaces).set(entity, true);
|
|
34
|
+
setArmCommonTypesVersionIfDoesnotExist(context, entity, "v3");
|
|
20
35
|
}
|
|
21
36
|
/**
|
|
22
37
|
* Check if the given namespace contains ARM library types
|
|
@@ -85,6 +100,26 @@ export function $armProviderNamespace(context, entity, armProviderNamespace) {
|
|
|
85
100
|
context.call(http.$server, entity, "https://management.azure.com", "Azure Resource Manager url.");
|
|
86
101
|
}
|
|
87
102
|
}
|
|
103
|
+
const armCommonTypesVersion = getArmCommonTypesVersion(context, entity);
|
|
104
|
+
// If it is versioned namespace, we will check each Version enum member. If no
|
|
105
|
+
// @armCommonTypeVersion decorator, add the one
|
|
106
|
+
const versioned = entity.decorators.find((x) => x.definition?.name === "@versioned");
|
|
107
|
+
if (versioned) {
|
|
108
|
+
const versionEnum = versioned.args[0].value;
|
|
109
|
+
versionEnum.members.forEach((v) => {
|
|
110
|
+
if (!getArmCommonTypesVersion(context, v)) {
|
|
111
|
+
context.call($armCommonTypesVersion, v, armCommonTypesVersion ?? "v3");
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
// if it is unversioned namespace, set @armCommonTypesVersion and
|
|
117
|
+
// no existing @armCommonTypesVersion decorator, add default.
|
|
118
|
+
// This will NOT cause error if overrode on version enum.
|
|
119
|
+
if (!armCommonTypesVersion) {
|
|
120
|
+
context.call($armCommonTypesVersion, entity, "v3");
|
|
121
|
+
}
|
|
122
|
+
}
|
|
88
123
|
// 'namespace' is optional, use the actual namespace string if omitted
|
|
89
124
|
const typespecNamespace = getNamespaceFullName(entity);
|
|
90
125
|
if (!armProviderNamespace) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4CAA4C,EAAE,MAAM,kCAAkC,CAAC;AAChG,OAAO,
|
|
1
|
+
{"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4CAA4C,EAAE,MAAM,kCAAkC,CAAC;AAChG,OAAO,EAUL,UAAU,EACV,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AACnG,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,SAAS,wBAAwB,CAC/B,OAAyB,EACzB,MAA8B;IAE9B,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,KAAK,wBAAwB,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;SAC3F,OAAgC,CAAC;AACtC,CAAC;AAED,SAAS,sCAAsC,CAC7C,OAAyB,EACzB,MAA8B,EAC9B,iBAAyB;IAEzB,6DAA6D;IAC7D,MAAM,qBAAqB,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAClD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,KAAK,wBAAwB,CACvD,CAAC;IACF,gEAAgE;IAChE,yDAAyD;IACzD,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAClE,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAyB,EAAE,MAAiB;IAC/E,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAE5B,gFAAgF;IAChF,mFAAmF;IACnF,4CAA4C,CAAC,KAAK,CAAC,CAAC;IAEpD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAEtE,sCAAsC,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AAChE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAgB,EAAE,SAAoB;IAC1E,OAAO,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;AACrF,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAgB,EAAE,MAAiB;IACjE,OAAO,CACL,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC,IAAI,KAAK,CAAC;QAC/D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CACjE,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAAyB,EACzB,MAAiB,EACjB,GAAG,UAAuB;IAE1B,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC5B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAElF,IAAI,QAAQ,EAAE,CAAC;QACb,2BAA2B,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAClF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAAgB,EAChB,SAAoB;IAEpB,OAAO,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAgB,CAAC;AAC/F,CAAC;AAED,SAAS,2BAA2B,CAAC,OAAgB,EAAE,QAAgB,EAAE,UAAuB;IAC9F,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAChF,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAAyB,EACzB,MAAiB,EACjB,oBAA6B;IAE7B,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAE5B,MAAM,QAAQ,GAAG,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACzD,MAAM,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC;IACjF,IAAI,cAAc,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpC,gBAAgB,CAAC,OAAO,EAAE;YACxB,IAAI,EAAE,qBAAqB;YAC3B,MAAM,EAAE,OAAO,CAAC,eAAe;SAChC,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,gFAAgF;IAChF,mFAAmF;IACnF,4CAA4C,CAAC,KAAK,CAAC,CAAC;IAEpD,+EAA+E;IAC/E,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAE5B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC;YACtC,OAAO,CAAC,IAAI,CACV,IAAI,CAAC,OAAO,EACZ,MAAM,EACN,8BAA8B,EAC9B,6BAA6B,CAC9B,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAExE,8EAA8E;IAC9E,+CAA+C;IAC/C,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,KAAK,YAAY,CAAC,CAAC;IACrF,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAa,CAAC;QACpD,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAChC,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC1C,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,EAAE,qBAAqB,IAAI,IAAI,CAAC,CAAC;YACzE,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,iEAAiE;QACjE,6DAA6D;QAC7D,yDAAyD;QACzD,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,sEAAsE;IACtE,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACvD,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1B,oBAAoB,GAAG,iBAAiB,CAAC;IAC3C,CAAC;IAED,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAEvF,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAEnE,IAAI,gBAAgB,EAAE,CAAC;QACrB,2BAA2B,CAAC,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,CAAC,CAAC;IAC/E,CAAC;IAED,mCAAmC;IACnC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,IAAI,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,SAAS,EAAE,CAAC;YACrD,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE;gBACjC,OAAO,EAAE;oBACP;wBACE,OAAO,EAAE;4BACP;gCACE,EAAE,EAAE,YAAY;gCAChB,WAAW,EAAE,qCAAqC;gCAClD,IAAI,EAAE,QAAQ;gCACd,KAAK,EAAE;oCACL;wCACE,IAAI,EAAE,UAAU;wCAChB,gBAAgB,EAAE,2DAA2D;wCAC7E,MAAM,EAAE;4CACN,EAAE,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,+BAA+B,EAAE;yCAC9E;qCACF;iCACF;6BACF;yBACF;qBACF;iBACF;aACF,CAAC,CAAC;QACL,CAAC;QAED,4CAA4C;QAC5C,2BAA2B,CAAC,OAAO,EAAE,MAAM,EAAE;YAC3C,gBAAgB,EAAE;gBAChB,mEAAmE;gBACnE,sBAAsB;gBACtB,gBAAgB,EAAE,CAAC,SAAoB,EAAE,KAAoB,EAAE,EAAE;oBAC/D,MAAM,iBAAiB,GAAG,0BAA0B,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;oBACrE,IAAI,iBAAiB,EAAE,CAAC;wBACtB,MAAM,YAAY,GAAG,uBAAuB,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;wBACzE,IAAI,YAAY,EAAE,CAAC;4BACjB,OAAO;gCACL,gBAAgB,EAAE,YAAY;gCAC9B,0BAA0B,EAAE,IAAI;6BACjC,CAAC;wBACJ,CAAC;oBACH,CAAC;oBAED,sDAAsD;oBACtD,OAAO,SAAS,CAAC;gBACnB,CAAC;aACF;SACF,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CACrC,OAAgB,EAChB,MAAyB;IAEzB,IAAI,gBAAgB,GAClB,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;IAE1D,IAAI,oBAAwC,CAAC;IAC7C,OAAO,gBAAgB,EAAE,CAAC;QACxB,oBAAoB,GAAG,OAAO;aAC3B,QAAQ,CAAC,YAAY,CAAC,qBAAqB,CAAC;aAC5C,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACzB,IAAI,oBAAoB,EAAE,CAAC;YACzB,OAAO,oBAAoB,CAAC;QAC9B,CAAC;QAED,gBAAgB,GAAG,gBAAgB,CAAC,SAAS,CAAC;IAChD,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { DecoratorContext,
|
|
1
|
+
import { DecoratorContext, Interface, Model, ModelProperty, Operation, Program, Tuple } from "@typespec/compiler";
|
|
2
2
|
import { ArmResourceDetails } from "./resource.js";
|
|
3
3
|
export declare const namespace = "Azure.ResourceManager.Private";
|
|
4
|
-
export declare const ArmCommonTypesDefaultVersion = "v3";
|
|
5
4
|
export declare function $omitIfEmpty(context: DecoratorContext, entity: Model, propertyName: string): void;
|
|
6
5
|
export declare function $enforceConstraint(context: DecoratorContext, entity: Operation | Model, sourceType: Model, constraintType: Model): void;
|
|
7
6
|
export declare function $resourceBaseParametersOf(context: DecoratorContext, entity: Model, resourceType: Model): void;
|
|
@@ -9,44 +8,6 @@ export declare function $resourceParameterBaseFor(context: DecoratorContext, ent
|
|
|
9
8
|
export declare function $defaultResourceKeySegmentName(context: DecoratorContext, entity: ModelProperty, resource: Model, keyName: string, segment: string): void;
|
|
10
9
|
export declare function getResourceParameterBases(program: Program, property: ModelProperty): string[] | undefined;
|
|
11
10
|
export declare function isResourceParameterBaseFor(program: Program, property: ModelProperty, resourceBaseType: string): boolean;
|
|
12
|
-
export interface ArmCommonTypeRecord {
|
|
13
|
-
name: string;
|
|
14
|
-
kind: "definitions" | "parameters";
|
|
15
|
-
version: string;
|
|
16
|
-
basePath: string;
|
|
17
|
-
referenceFile?: string;
|
|
18
|
-
}
|
|
19
|
-
export interface ArmCommonTypeRecords {
|
|
20
|
-
records: {
|
|
21
|
-
[key: string]: ArmCommonTypeRecord;
|
|
22
|
-
};
|
|
23
|
-
defaultKey?: string;
|
|
24
|
-
}
|
|
25
|
-
export declare function getCommonTypeRecords(program: Program, entity: Model | ModelProperty): ArmCommonTypeRecords;
|
|
26
|
-
interface ArmCommonTypeVersionSpec {
|
|
27
|
-
version: string | EnumValue;
|
|
28
|
-
isDefault: boolean;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Refer an model property to be a common ARM parameter
|
|
32
|
-
* @param {DecoratorContext} context DecoratorContext object
|
|
33
|
-
* @param {Type} entity Decorator target type. Must be `Model`
|
|
34
|
-
* @param {string?} definitionName Optional definition name
|
|
35
|
-
* @param {string?} version Optional version
|
|
36
|
-
* @param {string?} referenceFile Optional common file path
|
|
37
|
-
* @returns void
|
|
38
|
-
*/
|
|
39
|
-
export declare function $armCommonParameter(context: DecoratorContext, entity: ModelProperty, parameterName?: string, version?: string | EnumValue | ArmCommonTypeVersionSpec, referenceFile?: string): void;
|
|
40
|
-
/**
|
|
41
|
-
* Using ARM common definition for a Model
|
|
42
|
-
* @param {DecoratorContext} context DecoratorContext object
|
|
43
|
-
* @param {Type} entity Decorator target type. Must be `Model`
|
|
44
|
-
* @param {string?} definitionName Optional definition name
|
|
45
|
-
* @param {string?} version Optional version
|
|
46
|
-
* @param {string?} referenceFile Optional common file path
|
|
47
|
-
* @returns {void}
|
|
48
|
-
*/
|
|
49
|
-
export declare function $armCommonDefinition(context: DecoratorContext, entity: Model, definitionName?: string, version?: string | EnumValue | ArmCommonTypeVersionSpec, referenceFile?: string): void;
|
|
50
11
|
/**
|
|
51
12
|
* This decorator dynamically assigns the serviceNamespace from the containing
|
|
52
13
|
* namespace to the string literal value of the path parameter to which this
|
|
@@ -82,6 +43,4 @@ export declare function isArmOperationsListInterface(program: Program, type: Int
|
|
|
82
43
|
export declare function $armResourceInternal(context: DecoratorContext, resourceType: Model, propertiesType: Model): void;
|
|
83
44
|
export declare function listArmResources(program: Program): ArmResourceDetails[];
|
|
84
45
|
export declare function getArmResource(program: Program, resourceType: Model): ArmResourceDetails | undefined;
|
|
85
|
-
export declare function $armCommonTypesVersions(context: DecoratorContext, enumType: Enum): void;
|
|
86
|
-
export {};
|
|
87
46
|
//# sourceMappingURL=private.decorators.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"private.decorators.d.ts","sourceRoot":"","sources":["../../src/private.decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,gBAAgB,EAChB,
|
|
1
|
+
{"version":3,"file":"private.decorators.d.ts","sourceRoot":"","sources":["../../src/private.decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,gBAAgB,EAChB,SAAS,EACT,KAAK,EACL,aAAa,EACb,SAAS,EACT,OAAO,EAEP,KAAK,EAGN,MAAM,oBAAoB,CAAC;AAM5B,OAAO,EACL,kBAAkB,EAMnB,MAAM,eAAe,CAAC;AAGvB,eAAO,MAAM,SAAS,kCAAkC,CAAC;AAEzD,wBAAgB,YAAY,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,QAU1F;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,GAAG,KAAK,EACzB,UAAU,EAAE,KAAK,EACjB,cAAc,EAAE,KAAK,QAoBtB;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EACb,YAAY,EAAE,KAAK,QAepB;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,KAAK,QAUd;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,KAAK,EACf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,QAchB;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,aAAa,GACtB,MAAM,EAAE,GAAG,SAAS,CAEtB;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,aAAa,EACvB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAMT;AAgBD;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,YAAY,EAAE,KAAK,GAClB,IAAI,CAON;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,QAwBvF;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAWvF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,gBAAgB,EACzB,YAAY,EAAE,KAAK,EACnB,cAAc,EAAE,KAAK,QAmFtB;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,kBAAkB,EAAE,CAEvE;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,KAAK,GAClB,kBAAkB,GAAG,SAAS,CAEhC"}
|