@azure-tools/typespec-azure-resource-manager 0.49.0 → 0.50.0-dev.1
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 +29 -0
- package/dist/generated-defs/Azure.ResourceManager.d.ts +3 -1
- package/dist/generated-defs/Azure.ResourceManager.d.ts.map +1 -1
- package/dist/src/lib.d.ts +10 -0
- package/dist/src/lib.d.ts.map +1 -1
- package/dist/src/lib.js +2 -0
- package/dist/src/lib.js.map +1 -1
- package/dist/src/resource.d.ts +13 -2
- package/dist/src/resource.d.ts.map +1 -1
- package/dist/src/resource.js +75 -1
- package/dist/src/resource.js.map +1 -1
- package/dist/src/rules/missing-x-ms-identifiers.d.ts.map +1 -1
- package/dist/src/rules/missing-x-ms-identifiers.js +16 -8
- package/dist/src/rules/missing-x-ms-identifiers.js.map +1 -1
- package/dist/src/state.d.ts +1 -0
- package/dist/src/state.d.ts.map +1 -1
- package/dist/src/state.js +1 -0
- package/dist/src/state.js.map +1 -1
- package/dist/src/tsp-index.d.ts.map +1 -1
- package/dist/src/tsp-index.js +2 -1
- package/dist/src/tsp-index.js.map +1 -1
- package/lib/decorators.tsp +16 -0
- package/package.json +15 -15
package/README.md
CHANGED
|
@@ -79,6 +79,7 @@ Available ruleSets:
|
|
|
79
79
|
- [`@armResourceUpdate`](#@armresourceupdate)
|
|
80
80
|
- [`@armVirtualResource`](#@armvirtualresource)
|
|
81
81
|
- [`@extensionResource`](#@extensionresource)
|
|
82
|
+
- [`@identifiers`](#@identifiers)
|
|
82
83
|
- [`@locationResource`](#@locationresource)
|
|
83
84
|
- [`@resourceBaseType`](#@resourcebasetype)
|
|
84
85
|
- [`@resourceGroupResource`](#@resourcegroupresource)
|
|
@@ -353,6 +354,34 @@ See more details on [different Azure Resource Manager resource type here.](https
|
|
|
353
354
|
|
|
354
355
|
None
|
|
355
356
|
|
|
357
|
+
#### `@identifiers`
|
|
358
|
+
|
|
359
|
+
This decorator is used to indicate the identifying properties of objects in the array, e.g. size
|
|
360
|
+
The properties that are used as identifiers for the object needs to be provided as a list of strings.
|
|
361
|
+
|
|
362
|
+
```typespec
|
|
363
|
+
@Azure.ResourceManager.identifiers(properties: string[])
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
##### Target
|
|
367
|
+
|
|
368
|
+
`ModelProperty`
|
|
369
|
+
|
|
370
|
+
##### Parameters
|
|
371
|
+
|
|
372
|
+
| Name | Type | Description |
|
|
373
|
+
| ---------- | ---------- | ------------------------------------------------------------------------------------------------------------------- |
|
|
374
|
+
| properties | `string[]` | The list of properties that are used as identifiers for the object. This needs to be provided as a list of strings. |
|
|
375
|
+
|
|
376
|
+
##### Examples
|
|
377
|
+
|
|
378
|
+
```typespec
|
|
379
|
+
model Pet {
|
|
380
|
+
@identifiers(["size"])
|
|
381
|
+
dog: Dog;
|
|
382
|
+
}
|
|
383
|
+
```
|
|
384
|
+
|
|
356
385
|
#### `@locationResource`
|
|
357
386
|
|
|
358
387
|
`@locationResource` marks an Azure Resource Manager resource model as a location based resource.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { DecoratorContext, EnumMember, EnumValue, Interface, Model, ModelProperty, Namespace, Operation, Type } from "@typespec/compiler";
|
|
2
2
|
/**
|
|
3
3
|
* Marks the operation as being a collection action
|
|
4
4
|
*/
|
|
@@ -183,6 +183,7 @@ export type CustomAzureResourceDecorator = (context: DecoratorContext, target: M
|
|
|
183
183
|
* @param baseType The built-in parent of the resource, this can be "Tenant", "Subscription", "ResourceGroup", "Location", or "Extension"
|
|
184
184
|
*/
|
|
185
185
|
export type ResourceBaseTypeDecorator = (context: DecoratorContext, target: Model, baseType: Type) => void;
|
|
186
|
+
export type IdentifiersDecorator = (context: DecoratorContext, target: ModelProperty, properties: string[]) => void;
|
|
186
187
|
export type AzureResourceManagerDecorators = {
|
|
187
188
|
armResourceCollectionAction: ArmResourceCollectionActionDecorator;
|
|
188
189
|
armProviderNameValue: ArmProviderNameValueDecorator;
|
|
@@ -205,6 +206,7 @@ export type AzureResourceManagerDecorators = {
|
|
|
205
206
|
armCommonTypesVersion: ArmCommonTypesVersionDecorator;
|
|
206
207
|
armVirtualResource: ArmVirtualResourceDecorator;
|
|
207
208
|
resourceBaseType: ResourceBaseTypeDecorator;
|
|
209
|
+
identifiers: IdentifiersDecorator;
|
|
208
210
|
};
|
|
209
211
|
export type AzureResourceManagerLegacyDecorators = {
|
|
210
212
|
customAzureResource: CustomAzureResourceDecorator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Azure.ResourceManager.d.ts","sourceRoot":"","sources":["../../generated-defs/Azure.ResourceManager.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Azure.ResourceManager.d.ts","sourceRoot":"","sources":["../../generated-defs/Azure.ResourceManager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,SAAS,EACT,SAAS,EACT,KAAK,EACL,aAAa,EACb,SAAS,EACT,SAAS,EACT,IAAI,EACL,MAAM,oBAAoB,CAAC;AAE5B;;GAEG;AACH,MAAM,MAAM,oCAAoC,GAAG,CACjD,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,KACd,IAAI,CAAC;AAEV;;;;;GAKG;AACH,MAAM,MAAM,6BAA6B,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;AAEnG;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,6BAA6B,GAAG,CAC1C,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,iBAAiB,CAAC,EAAE,MAAM,KACvB,IAAI,CAAC;AAEV;;;;;GAKG;AACH,MAAM,MAAM,4BAA4B,GAAG,CACzC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,GAAG,UAAU,EAAE,SAAS,EAAE,KACvB,IAAI,CAAC;AAEV;;;;;;;;GAQG;AACH,MAAM,MAAM,4BAA4B,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;AAElG;;;;;;;;;GASG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAC/B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EACb,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,KAC1B,IAAI,CAAC;AAEV;;;;;;;GAOG;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,KAAK,IAAI,CAAC;AAEzF;;;;;;;GAOG;AACH,MAAM,MAAM,6BAA6B,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,KAAK,IAAI,CAAC;AAE/F;;;;;;;GAOG;AACH,MAAM,MAAM,yBAAyB,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,KAAK,IAAI,CAAC;AAE3F;;;;;;;;GAQG;AACH,MAAM,MAAM,8BAA8B,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,KAAK,IAAI,CAAC;AAEhG;;;;;;;;GAQG;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,KAAK,IAAI,CAAC;AAE5F;;;;;GAKG;AACH,MAAM,MAAM,0BAA0B,GAAG,CACvC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,YAAY,EAAE,KAAK,KAChB,IAAI,CAAC;AAEV;;;;;GAKG;AACH,MAAM,MAAM,kCAAkC,GAAG,CAC/C,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,YAAY,EAAE,KAAK,KAChB,IAAI,CAAC;AAEV;;;;;GAKG;AACH,MAAM,MAAM,wBAAwB,GAAG,CACrC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,YAAY,EAAE,KAAK,KAChB,IAAI,CAAC;AAEV;;;;;GAKG;AACH,MAAM,MAAM,0BAA0B,GAAG,CACvC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,YAAY,EAAE,KAAK,KAChB,IAAI,CAAC;AAEV;;;;;GAKG;AACH,MAAM,MAAM,0BAA0B,GAAG,CACvC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,YAAY,EAAE,KAAK,KAChB,IAAI,CAAC;AAEV;;;;;GAKG;AACH,MAAM,MAAM,wBAAwB,GAAG,CACrC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,YAAY,EAAE,KAAK,KAChB,IAAI,CAAC;AAEV;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,8BAA8B,GAAG,CAC3C,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,CAAC,CAAC,EAAE,IAAI,KACL,IAAI,CAAC;AAEV;;;;;GAKG;AACH,MAAM,MAAM,8BAA8B,GAAG,CAC3C,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,GAAG,UAAU,EAC9B,OAAO,EAAE,MAAM,GAAG,SAAS,KACxB,IAAI,CAAC;AAEV;;;;;GAKG;AACH,MAAM,MAAM,2BAA2B,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,KAAK,IAAI,CAAC;AAE7F;;;GAGG;AACH,MAAM,MAAM,4BAA4B,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,KAAK,IAAI,CAAC;AAE9F;;;;GAIG;AACH,MAAM,MAAM,yBAAyB,GAAG,CACtC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EACb,QAAQ,EAAE,IAAI,KACX,IAAI,CAAC;AAEV,MAAM,MAAM,oBAAoB,GAAG,CACjC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,MAAM,EAAE,KACjB,IAAI,CAAC;AAEV,MAAM,MAAM,8BAA8B,GAAG;IAC3C,2BAA2B,EAAE,oCAAoC,CAAC;IAClE,oBAAoB,EAAE,6BAA6B,CAAC;IACpD,oBAAoB,EAAE,6BAA6B,CAAC;IACpD,mBAAmB,EAAE,4BAA4B,CAAC;IAClD,mBAAmB,EAAE,4BAA4B,CAAC;IAClD,SAAS,EAAE,kBAAkB,CAAC;IAC9B,cAAc,EAAE,uBAAuB,CAAC;IACxC,oBAAoB,EAAE,6BAA6B,CAAC;IACpD,gBAAgB,EAAE,yBAAyB,CAAC;IAC5C,qBAAqB,EAAE,8BAA8B,CAAC;IACtD,iBAAiB,EAAE,0BAA0B,CAAC;IAC9C,iBAAiB,EAAE,0BAA0B,CAAC;IAC9C,yBAAyB,EAAE,kCAAkC,CAAC;IAC9D,eAAe,EAAE,wBAAwB,CAAC;IAC1C,iBAAiB,EAAE,0BAA0B,CAAC;IAC9C,iBAAiB,EAAE,0BAA0B,CAAC;IAC9C,eAAe,EAAE,wBAAwB,CAAC;IAC1C,qBAAqB,EAAE,8BAA8B,CAAC;IACtD,qBAAqB,EAAE,8BAA8B,CAAC;IACtD,kBAAkB,EAAE,2BAA2B,CAAC;IAChD,gBAAgB,EAAE,yBAAyB,CAAC;IAC5C,WAAW,EAAE,oBAAoB,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,oCAAoC,GAAG;IACjD,mBAAmB,EAAE,4BAA4B,CAAC;CACnD,CAAC"}
|
package/dist/src/lib.d.ts
CHANGED
|
@@ -4,6 +4,8 @@ export declare const $lib: import("@typespec/compiler").TypeSpecLibrary<{
|
|
|
4
4
|
};
|
|
5
5
|
"decorator-param-wrong-type": {
|
|
6
6
|
readonly armUpdateProviderNamespace: "The parameter to @armUpdateProviderNamespace must be an operation with a 'provider' parameter.";
|
|
7
|
+
readonly armIdentifiersIncorrectEntity: "The @identifiers decorator must be applied to a property that is an array of objects";
|
|
8
|
+
readonly armIdentifiersProperties: "The @identifiers decorator expects a parameter that is an array of strings or an empty array.";
|
|
7
9
|
};
|
|
8
10
|
"arm-resource-circular-ancestry": {
|
|
9
11
|
readonly default: "There is a loop in the ancestry of this resource. Please ensure that the `@parentResource` decorator contains the correct parent resource, and that parentage contains no cycles.";
|
|
@@ -54,6 +56,8 @@ export declare const reportDiagnostic: <C extends "single-arm-provider" | "decor
|
|
|
54
56
|
};
|
|
55
57
|
"decorator-param-wrong-type": {
|
|
56
58
|
readonly armUpdateProviderNamespace: "The parameter to @armUpdateProviderNamespace must be an operation with a 'provider' parameter.";
|
|
59
|
+
readonly armIdentifiersIncorrectEntity: "The @identifiers decorator must be applied to a property that is an array of objects";
|
|
60
|
+
readonly armIdentifiersProperties: "The @identifiers decorator expects a parameter that is an array of strings or an empty array.";
|
|
57
61
|
};
|
|
58
62
|
"arm-resource-circular-ancestry": {
|
|
59
63
|
readonly default: "There is a loop in the ancestry of this resource. Please ensure that the `@parentResource` decorator contains the correct parent resource, and that parentage contains no cycles.";
|
|
@@ -103,6 +107,8 @@ export declare const reportDiagnostic: <C extends "single-arm-provider" | "decor
|
|
|
103
107
|
};
|
|
104
108
|
"decorator-param-wrong-type": {
|
|
105
109
|
readonly armUpdateProviderNamespace: "The parameter to @armUpdateProviderNamespace must be an operation with a 'provider' parameter.";
|
|
110
|
+
readonly armIdentifiersIncorrectEntity: "The @identifiers decorator must be applied to a property that is an array of objects";
|
|
111
|
+
readonly armIdentifiersProperties: "The @identifiers decorator expects a parameter that is an array of strings or an empty array.";
|
|
106
112
|
};
|
|
107
113
|
"arm-resource-circular-ancestry": {
|
|
108
114
|
readonly default: "There is a loop in the ancestry of this resource. Please ensure that the `@parentResource` decorator contains the correct parent resource, and that parentage contains no cycles.";
|
|
@@ -152,6 +158,8 @@ export declare const reportDiagnostic: <C extends "single-arm-provider" | "decor
|
|
|
152
158
|
};
|
|
153
159
|
"decorator-param-wrong-type": {
|
|
154
160
|
readonly armUpdateProviderNamespace: "The parameter to @armUpdateProviderNamespace must be an operation with a 'provider' parameter.";
|
|
161
|
+
readonly armIdentifiersIncorrectEntity: "The @identifiers decorator must be applied to a property that is an array of objects";
|
|
162
|
+
readonly armIdentifiersProperties: "The @identifiers decorator expects a parameter that is an array of strings or an empty array.";
|
|
155
163
|
};
|
|
156
164
|
"arm-resource-circular-ancestry": {
|
|
157
165
|
readonly default: "There is a loop in the ancestry of this resource. Please ensure that the `@parentResource` decorator contains the correct parent resource, and that parentage contains no cycles.";
|
|
@@ -201,6 +209,8 @@ export declare const reportDiagnostic: <C extends "single-arm-provider" | "decor
|
|
|
201
209
|
};
|
|
202
210
|
"decorator-param-wrong-type": {
|
|
203
211
|
readonly armUpdateProviderNamespace: "The parameter to @armUpdateProviderNamespace must be an operation with a 'provider' parameter.";
|
|
212
|
+
readonly armIdentifiersIncorrectEntity: "The @identifiers decorator must be applied to a property that is an array of objects";
|
|
213
|
+
readonly armIdentifiersProperties: "The @identifiers decorator expects a parameter that is an array of strings or an empty array.";
|
|
204
214
|
};
|
|
205
215
|
"arm-resource-circular-ancestry": {
|
|
206
216
|
readonly default: "There is a loop in the ancestry of this resource. Please ensure that the `@parentResource` decorator contains the correct parent resource, and that parentage contains no cycles.";
|
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BA+Gf,CAAC;AAEH,eAAO,MAAQ,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAE,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oDAAS,CAAC"}
|
package/dist/src/lib.js
CHANGED
|
@@ -12,6 +12,8 @@ export const $lib = createTypeSpecLibrary({
|
|
|
12
12
|
severity: "error",
|
|
13
13
|
messages: {
|
|
14
14
|
armUpdateProviderNamespace: "The parameter to @armUpdateProviderNamespace must be an operation with a 'provider' parameter.",
|
|
15
|
+
armIdentifiersIncorrectEntity: "The @identifiers decorator must be applied to a property that is an array of objects",
|
|
16
|
+
armIdentifiersProperties: "The @identifiers decorator expects a parameter that is an array of strings or an empty array.",
|
|
15
17
|
},
|
|
16
18
|
},
|
|
17
19
|
"arm-resource-circular-ancestry": {
|
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;
|
|
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;gBAClG,6BAA6B,EAC3B,sFAAsF;gBACxF,wBAAwB,EACtB,+FAA+F;aAClG;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"}
|
package/dist/src/resource.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Model, Program } from "@typespec/compiler";
|
|
2
|
-
import { ArmProviderNameValueDecorator, ArmResourceOperationsDecorator, ArmVirtualResourceDecorator, CustomAzureResourceDecorator, ExtensionResourceDecorator, LocationResourceDecorator, ResourceBaseTypeDecorator, ResourceGroupResourceDecorator, SingletonDecorator, SubscriptionResourceDecorator, TenantResourceDecorator } from "../generated-defs/Azure.ResourceManager.js";
|
|
1
|
+
import { ArrayModelType, Model, Program } from "@typespec/compiler";
|
|
2
|
+
import { ArmProviderNameValueDecorator, ArmResourceOperationsDecorator, ArmVirtualResourceDecorator, CustomAzureResourceDecorator, ExtensionResourceDecorator, IdentifiersDecorator, LocationResourceDecorator, ResourceBaseTypeDecorator, ResourceGroupResourceDecorator, SingletonDecorator, SubscriptionResourceDecorator, TenantResourceDecorator } from "../generated-defs/Azure.ResourceManager.js";
|
|
3
3
|
import { ArmResourceOperations } from "./operations.js";
|
|
4
4
|
export type ArmResourceKind = "Tracked" | "Proxy" | "Extension" | "Virtual" | "Custom";
|
|
5
5
|
/**
|
|
@@ -86,6 +86,17 @@ export declare const $locationResource: LocationResourceDecorator;
|
|
|
86
86
|
export declare const $resourceGroupResource: ResourceGroupResourceDecorator;
|
|
87
87
|
export declare const $extensionResource: ExtensionResourceDecorator;
|
|
88
88
|
export declare const $armProviderNameValue: ArmProviderNameValueDecorator;
|
|
89
|
+
export declare const $identifiers: IdentifiersDecorator;
|
|
90
|
+
/**
|
|
91
|
+
* This function returns all arm identifiers for the given array model type
|
|
92
|
+
* This includes the identifiers specified using the @identifiers decorator
|
|
93
|
+
* and the identifiers using the @key decorator.
|
|
94
|
+
*
|
|
95
|
+
* @param program The program to process.
|
|
96
|
+
* @param entity The array model type to check.
|
|
97
|
+
* @returns returns list of arm identifiers for the given array model type if any or undefined.
|
|
98
|
+
*/
|
|
99
|
+
export declare function getArmIdentifiers(program: Program, entity: ArrayModelType): string[] | undefined;
|
|
89
100
|
export declare function getResourceBaseType(program: Program, resource: Model): ResourceBaseType;
|
|
90
101
|
export declare function resolveResourceBaseType(type?: string | undefined): ResourceBaseType;
|
|
91
102
|
//# sourceMappingURL=resource.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/resource.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/resource.ts"],"names":[],"mappings":"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"}
|
package/dist/src/resource.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getAllProperties } from "@azure-tools/typespec-azure-core";
|
|
2
|
-
import { $tag, getKeyName, getTags, isGlobalNamespace, isNeverType, isTemplateDeclaration, } from "@typespec/compiler";
|
|
2
|
+
import { $tag, getKeyName, getTags, isArrayModelType, isGlobalNamespace, isNeverType, isTemplateDeclaration, } from "@typespec/compiler";
|
|
3
3
|
import { isPathParam } from "@typespec/http";
|
|
4
4
|
import { $autoRoute, getParentResource, getSegment } from "@typespec/rest";
|
|
5
5
|
import { reportDiagnostic } from "./lib.js";
|
|
@@ -244,6 +244,80 @@ export const $armProviderNameValue = (context, entity) => {
|
|
|
244
244
|
property.type.value = armProvider;
|
|
245
245
|
}
|
|
246
246
|
};
|
|
247
|
+
export const $identifiers = (context, entity, properties) => {
|
|
248
|
+
const { program } = context;
|
|
249
|
+
const { type } = entity;
|
|
250
|
+
if (type.kind !== "Model" ||
|
|
251
|
+
!isArrayModelType(program, type) ||
|
|
252
|
+
type.indexer.value.kind !== "Model") {
|
|
253
|
+
reportDiagnostic(program, {
|
|
254
|
+
code: "decorator-param-wrong-type",
|
|
255
|
+
messageId: "armIdentifiersIncorrectEntity",
|
|
256
|
+
target: entity,
|
|
257
|
+
});
|
|
258
|
+
return;
|
|
259
|
+
}
|
|
260
|
+
const propertiesValues = properties.values;
|
|
261
|
+
if (!Array.isArray(propertiesValues)) {
|
|
262
|
+
reportDiagnostic(program, {
|
|
263
|
+
code: "decorator-param-wrong-type",
|
|
264
|
+
messageId: "armIdentifiersProperties",
|
|
265
|
+
target: entity,
|
|
266
|
+
});
|
|
267
|
+
return;
|
|
268
|
+
}
|
|
269
|
+
context.program.stateMap(ArmStateKeys.armIdentifiers).set(type.indexer.value, propertiesValues.map((property) => property.value));
|
|
270
|
+
};
|
|
271
|
+
/**
|
|
272
|
+
* This function returns all arm identifiers for the given array model type
|
|
273
|
+
* This includes the identifiers specified using the @identifiers decorator
|
|
274
|
+
* and the identifiers using the @key decorator.
|
|
275
|
+
*
|
|
276
|
+
* @param program The program to process.
|
|
277
|
+
* @param entity The array model type to check.
|
|
278
|
+
* @returns returns list of arm identifiers for the given array model type if any or undefined.
|
|
279
|
+
*/
|
|
280
|
+
export function getArmIdentifiers(program, entity) {
|
|
281
|
+
const value = entity.indexer.value;
|
|
282
|
+
const getIdentifiers = program.stateMap(ArmStateKeys.armIdentifiers).get(value);
|
|
283
|
+
if (getIdentifiers !== undefined) {
|
|
284
|
+
return getIdentifiers;
|
|
285
|
+
}
|
|
286
|
+
const result = [];
|
|
287
|
+
if (value.kind === "Model") {
|
|
288
|
+
for (const property of value.properties.values()) {
|
|
289
|
+
const pathToKey = getPathToKey(program, property);
|
|
290
|
+
if (pathToKey !== undefined) {
|
|
291
|
+
result.push(property.name + pathToKey);
|
|
292
|
+
}
|
|
293
|
+
else if (getKeyName(program, property)) {
|
|
294
|
+
result.push(property.name);
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
return result.length > 0 ? result : undefined;
|
|
299
|
+
}
|
|
300
|
+
function getPathToKey(program, entity, visited = new Set()) {
|
|
301
|
+
if (entity.type.kind !== "Model") {
|
|
302
|
+
return undefined;
|
|
303
|
+
}
|
|
304
|
+
if (visited.has(entity)) {
|
|
305
|
+
return undefined;
|
|
306
|
+
}
|
|
307
|
+
visited.add(entity);
|
|
308
|
+
for (const property of entity.type.properties.values()) {
|
|
309
|
+
if (property.type.kind !== "Model" && getKeyName(program, property)) {
|
|
310
|
+
return "/" + property.name;
|
|
311
|
+
}
|
|
312
|
+
if (property.type.kind === "Model") {
|
|
313
|
+
const path = getPathToKey(program, property, visited);
|
|
314
|
+
if (path !== undefined) {
|
|
315
|
+
return "/" + property.name + path;
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
return undefined;
|
|
320
|
+
}
|
|
247
321
|
function getServiceNamespace(program, type) {
|
|
248
322
|
if (type === undefined)
|
|
249
323
|
return undefined;
|
package/dist/src/resource.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource.js","sourceRoot":"","sources":["../../src/resource.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resource.js","sourceRoot":"","sources":["../../src/resource.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"missing-x-ms-identifiers.d.ts","sourceRoot":"","sources":["../../../src/rules/missing-x-ms-identifiers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"missing-x-ms-identifiers.d.ts","sourceRoot":"","sources":["../../../src/rules/missing-x-ms-identifiers.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,yBAAyB;;;;EA8FpC,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { createRule, getProperty, isArrayModelType, paramMessage, } from "@typespec/compiler";
|
|
2
2
|
import { getExtensions } from "@typespec/openapi";
|
|
3
3
|
import { isArmCommonType } from "../common-types.js";
|
|
4
|
+
import { getArmIdentifiers } from "../resource.js";
|
|
4
5
|
export const missingXmsIdentifiersRule = createRule({
|
|
5
6
|
name: "missing-x-ms-identifiers",
|
|
6
7
|
description: `Array properties should describe their identifying properties with x-ms-identifiers. Decorate the property with @OpenAPI.extension("x-ms-identifiers", [id-prop]) where "id-prop" is a list of the names of identifying properties in the item type.`,
|
|
@@ -32,19 +33,29 @@ export const missingXmsIdentifiersRule = createRule({
|
|
|
32
33
|
if (isArmCommonType(elementType)) {
|
|
33
34
|
return false;
|
|
34
35
|
}
|
|
35
|
-
if (getProperty(elementType, "id")) {
|
|
36
|
+
if (getProperty(elementType, "id") || getProperty(elementType, "name")) {
|
|
36
37
|
return false;
|
|
37
38
|
}
|
|
38
39
|
const xmsIdentifiers = getExtensions(program, property ?? array).get("x-ms-identifiers");
|
|
39
|
-
|
|
40
|
+
const armIdentifiers = getArmIdentifiers(program, array);
|
|
41
|
+
if (xmsIdentifiers === undefined && armIdentifiers === undefined) {
|
|
40
42
|
return true;
|
|
41
43
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
+
const identifiers = armIdentifiers ?? xmsIdentifiers;
|
|
45
|
+
if (Array.isArray(identifiers)) {
|
|
46
|
+
for (const propIdentifier of identifiers) {
|
|
44
47
|
if (typeof propIdentifier === "string") {
|
|
45
48
|
const props = propIdentifier.replace(/^\//, "").split("/");
|
|
46
49
|
let element = elementType;
|
|
47
50
|
for (const prop of props) {
|
|
51
|
+
if (element === undefined || element.kind !== "Model") {
|
|
52
|
+
context.reportDiagnostic({
|
|
53
|
+
messageId: "missingProperty",
|
|
54
|
+
format: { propertyName: prop, targetModelName: element?.name },
|
|
55
|
+
target: property,
|
|
56
|
+
});
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
48
59
|
const propertyValue = getProperty(element, prop);
|
|
49
60
|
if (propertyValue === undefined) {
|
|
50
61
|
context.reportDiagnostic({
|
|
@@ -53,10 +64,7 @@ export const missingXmsIdentifiersRule = createRule({
|
|
|
53
64
|
target: property,
|
|
54
65
|
});
|
|
55
66
|
}
|
|
56
|
-
|
|
57
|
-
if (propertyType !== undefined && propertyType.kind === "Model") {
|
|
58
|
-
element = propertyType;
|
|
59
|
-
}
|
|
67
|
+
element = propertyValue?.type;
|
|
60
68
|
}
|
|
61
69
|
}
|
|
62
70
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"missing-x-ms-identifiers.js","sourceRoot":"","sources":["../../../src/rules/missing-x-ms-identifiers.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,YAAY,GACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"missing-x-ms-identifiers.js","sourceRoot":"","sources":["../../../src/rules/missing-x-ms-identifiers.ts"],"names":[],"mappings":"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"}
|
package/dist/src/state.d.ts
CHANGED
package/dist/src/state.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/state.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/state.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;CA0BxB,CAAC"}
|
package/dist/src/state.js
CHANGED
|
@@ -13,6 +13,7 @@ export const ArmStateKeys = {
|
|
|
13
13
|
armLibraryNamespaces: azureResourceManagerCreateStateSymbol("armLibraryNamespaces"),
|
|
14
14
|
usesArmLibraryNamespaces: azureResourceManagerCreateStateSymbol("usesArmLibraryNamespaces"),
|
|
15
15
|
armCommonTypesVersion: azureResourceManagerCreateStateSymbol("armCommonTypesVersion"),
|
|
16
|
+
armIdentifiers: azureResourceManagerCreateStateSymbol("armIdentifiers"),
|
|
16
17
|
// resource.ts
|
|
17
18
|
armResourcesCached: azureResourceManagerCreateStateSymbol("armResourcesCached"),
|
|
18
19
|
armSingletonResources: azureResourceManagerCreateStateSymbol("armSingletonResources"),
|
package/dist/src/state.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/state.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,qBAAqB;AACrB,2DAA2D;AAC3D,SAAS,qCAAqC,CAAC,IAAY;IACzD,OAAO,MAAM,CAAC,GAAG,CAAC,gDAAgD,IAAI,EAAE,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,qBAAqB,EAAE,qCAAqC,CAAC,uBAAuB,CAAC;IACrF,qBAAqB,EAAE,qCAAqC,CAAC,uBAAuB,CAAC;IACrF,2BAA2B,EAAE,qCAAqC,CAAC,6BAA6B,CAAC;IACjG,qBAAqB,EAAE,qCAAqC,CAAC,oBAAoB,CAAC;IAClF,YAAY,EAAE,qCAAqC,CAAC,cAAc,CAAC;IACnE,oBAAoB,EAAE,qCAAqC,CAAC,sBAAsB,CAAC;IACnF,wBAAwB,EAAE,qCAAqC,CAAC,0BAA0B,CAAC;IAC3F,qBAAqB,EAAE,qCAAqC,CAAC,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/state.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,qBAAqB;AACrB,2DAA2D;AAC3D,SAAS,qCAAqC,CAAC,IAAY;IACzD,OAAO,MAAM,CAAC,GAAG,CAAC,gDAAgD,IAAI,EAAE,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,qBAAqB,EAAE,qCAAqC,CAAC,uBAAuB,CAAC;IACrF,qBAAqB,EAAE,qCAAqC,CAAC,uBAAuB,CAAC;IACrF,2BAA2B,EAAE,qCAAqC,CAAC,6BAA6B,CAAC;IACjG,qBAAqB,EAAE,qCAAqC,CAAC,oBAAoB,CAAC;IAClF,YAAY,EAAE,qCAAqC,CAAC,cAAc,CAAC;IACnE,oBAAoB,EAAE,qCAAqC,CAAC,sBAAsB,CAAC;IACnF,wBAAwB,EAAE,qCAAqC,CAAC,0BAA0B,CAAC;IAC3F,qBAAqB,EAAE,qCAAqC,CAAC,uBAAuB,CAAC;IACrF,cAAc,EAAE,qCAAqC,CAAC,gBAAgB,CAAC;IAEvE,cAAc;IACd,kBAAkB,EAAE,qCAAqC,CAAC,oBAAoB,CAAC;IAC/E,qBAAqB,EAAE,qCAAqC,CAAC,uBAAuB,CAAC;IACrF,gBAAgB,EAAE,qCAAqC,CAAC,qBAAqB,CAAC;IAC9E,kBAAkB,EAAE,qCAAqC,CAAC,qBAAqB,CAAC;IAChF,mBAAmB,EAAE,qCAAqC,CAAC,qBAAqB,CAAC;IAEjF,uBAAuB;IACvB,iBAAiB,EAAE,qCAAqC,CAAC,mBAAmB,CAAC;IAC7E,2BAA2B,EAAE,qCAAqC,CAAC,6BAA6B,CAAC;IAEjG,oCAAoC;IACpC,oBAAoB,EAAE,qCAAqC,CAAC,sBAAsB,CAAC;IACnF,mBAAmB,EAAE,qCAAqC,CAAC,qBAAqB,CAAC;IACjF,sBAAsB,EAAE,qCAAqC,CAAC,wBAAwB,CAAC;CACxF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tsp-index.d.ts","sourceRoot":"","sources":["../../src/tsp-index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tsp-index.d.ts","sourceRoot":"","sources":["../../src/tsp-index.ts"],"names":[],"mappings":"AA+BA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAiChC,eAAO,MAAM,MAAM,2CAEjB,CAAC"}
|
package/dist/src/tsp-index.js
CHANGED
|
@@ -2,7 +2,7 @@ import { definePackageFlags } from "@typespec/compiler";
|
|
|
2
2
|
import { $armCommonTypesVersion } from "./common-types.js";
|
|
3
3
|
import { $armLibraryNamespace, $armProviderNamespace, $useLibraryNamespace } from "./namespace.js";
|
|
4
4
|
import { $armResourceAction, $armResourceCollectionAction, $armResourceCreateOrUpdate, $armResourceDelete, $armResourceList, $armResourceRead, $armResourceUpdate, } from "./operations.js";
|
|
5
|
-
import { $armProviderNameValue, $armResourceOperations, $armVirtualResource, $customAzureResource, $extensionResource, $locationResource, $resourceBaseType, $resourceGroupResource, $singleton, $subscriptionResource, $tenantResource, } from "./resource.js";
|
|
5
|
+
import { $armProviderNameValue, $armResourceOperations, $armVirtualResource, $customAzureResource, $extensionResource, $identifiers, $locationResource, $resourceBaseType, $resourceGroupResource, $singleton, $subscriptionResource, $tenantResource, } from "./resource.js";
|
|
6
6
|
export { $lib } from "./lib.js";
|
|
7
7
|
/** @internal */
|
|
8
8
|
export const $decorators = {
|
|
@@ -28,6 +28,7 @@ export const $decorators = {
|
|
|
28
28
|
armCommonTypesVersion: $armCommonTypesVersion,
|
|
29
29
|
armVirtualResource: $armVirtualResource,
|
|
30
30
|
resourceBaseType: $resourceBaseType,
|
|
31
|
+
identifiers: $identifiers,
|
|
31
32
|
},
|
|
32
33
|
"Azure.ResourceManager.Legacy": {
|
|
33
34
|
customAzureResource: $customAzureResource,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tsp-index.js","sourceRoot":"","sources":["../../src/tsp-index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAKxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACnG,OAAO,EACL,kBAAkB,EAClB,4BAA4B,EAC5B,0BAA0B,EAC1B,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,UAAU,EACV,qBAAqB,EACrB,eAAe,GAChB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,gBAAgB;AAChB,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,uBAAuB,EAAE;QACvB,2BAA2B,EAAE,4BAA4B;QACzD,oBAAoB,EAAE,qBAAqB;QAC3C,oBAAoB,EAAE,qBAAqB;QAC3C,mBAAmB,EAAE,oBAAoB;QACzC,mBAAmB,EAAE,oBAAoB;QACzC,SAAS,EAAE,UAAU;QACrB,cAAc,EAAE,eAAe;QAC/B,oBAAoB,EAAE,qBAAqB;QAC3C,gBAAgB,EAAE,iBAAiB;QACnC,qBAAqB,EAAE,sBAAsB;QAC7C,iBAAiB,EAAE,kBAAkB;QACrC,iBAAiB,EAAE,kBAAkB;QACrC,yBAAyB,EAAE,0BAA0B;QACrD,eAAe,EAAE,gBAAgB;QACjC,iBAAiB,EAAE,kBAAkB;QACrC,iBAAiB,EAAE,kBAAkB;QACrC,eAAe,EAAE,gBAAgB;QACjC,qBAAqB,EAAE,sBAAsB;QAC7C,qBAAqB,EAAE,sBAAsB;QAC7C,kBAAkB,EAAE,mBAAmB;QACvC,gBAAgB,EAAE,iBAAiB;
|
|
1
|
+
{"version":3,"file":"tsp-index.js","sourceRoot":"","sources":["../../src/tsp-index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAKxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACnG,OAAO,EACL,kBAAkB,EAClB,4BAA4B,EAC5B,0BAA0B,EAC1B,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,UAAU,EACV,qBAAqB,EACrB,eAAe,GAChB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,gBAAgB;AAChB,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,uBAAuB,EAAE;QACvB,2BAA2B,EAAE,4BAA4B;QACzD,oBAAoB,EAAE,qBAAqB;QAC3C,oBAAoB,EAAE,qBAAqB;QAC3C,mBAAmB,EAAE,oBAAoB;QACzC,mBAAmB,EAAE,oBAAoB;QACzC,SAAS,EAAE,UAAU;QACrB,cAAc,EAAE,eAAe;QAC/B,oBAAoB,EAAE,qBAAqB;QAC3C,gBAAgB,EAAE,iBAAiB;QACnC,qBAAqB,EAAE,sBAAsB;QAC7C,iBAAiB,EAAE,kBAAkB;QACrC,iBAAiB,EAAE,kBAAkB;QACrC,yBAAyB,EAAE,0BAA0B;QACrD,eAAe,EAAE,gBAAgB;QACjC,iBAAiB,EAAE,kBAAkB;QACrC,iBAAiB,EAAE,kBAAkB;QACrC,eAAe,EAAE,gBAAgB;QACjC,qBAAqB,EAAE,sBAAsB;QAC7C,qBAAqB,EAAE,sBAAsB;QAC7C,kBAAkB,EAAE,mBAAmB;QACvC,gBAAgB,EAAE,iBAAiB;QACnC,WAAW,EAAE,YAAY;KACe;IAC1C,8BAA8B,EAAE;QAC9B,mBAAmB,EAAE,oBAAoB;KACK;CACjD,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,kBAAkB,CAAC;IACvC,uBAAuB,EAAE,KAAK;CAC/B,CAAC,CAAC"}
|
package/lib/decorators.tsp
CHANGED
|
@@ -191,3 +191,19 @@ extern dec resourceBaseType(
|
|
|
191
191
|
target: Model,
|
|
192
192
|
baseType: "Tenant" | "Subscription" | "ResourceGroup" | "Location" | "Extension"
|
|
193
193
|
);
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* This decorator is used to indicate the identifying properties of objects in the array, e.g. size
|
|
197
|
+
* The properties that are used as identifiers for the object needs to be provided as a list of strings.
|
|
198
|
+
*
|
|
199
|
+
* @param properties The list of properties that are used as identifiers for the object. This needs to be provided as a list of strings.
|
|
200
|
+
*
|
|
201
|
+
* @example
|
|
202
|
+
* ```typespec
|
|
203
|
+
* model Pet {
|
|
204
|
+
* @identifiers(["size"])
|
|
205
|
+
* dog: Dog;
|
|
206
|
+
* }
|
|
207
|
+
* ```
|
|
208
|
+
*/
|
|
209
|
+
extern dec identifiers(entity: ModelProperty, properties: string[]);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@azure-tools/typespec-azure-resource-manager",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.50.0-dev.1",
|
|
4
4
|
"author": "Microsoft Corporation",
|
|
5
5
|
"description": "TypeSpec Azure Resource Manager library",
|
|
6
6
|
"homepage": "https://azure.github.io/typespec-azure",
|
|
@@ -43,30 +43,30 @@
|
|
|
43
43
|
"pluralize": "^8.0.0"
|
|
44
44
|
},
|
|
45
45
|
"peerDependencies": {
|
|
46
|
-
"@azure-tools/typespec-azure-core": "~0.49.0",
|
|
47
|
-
"@typespec/compiler": "~0.63.0",
|
|
48
|
-
"@typespec/http": "~0.63.0",
|
|
49
|
-
"@typespec/openapi": "~0.63.0",
|
|
50
|
-
"@typespec/rest": "~0.63.0",
|
|
51
|
-
"@typespec/versioning": "~0.63.0"
|
|
46
|
+
"@azure-tools/typespec-azure-core": "~0.49.0 || >=0.50.0-dev <0.50.0",
|
|
47
|
+
"@typespec/compiler": "~0.63.0 || >=0.64.0-dev <0.64.0",
|
|
48
|
+
"@typespec/http": "~0.63.0 || >=0.64.0-dev <0.64.0",
|
|
49
|
+
"@typespec/openapi": "~0.63.0 || >=0.64.0-dev <0.64.0",
|
|
50
|
+
"@typespec/rest": "~0.63.0 || >=0.64.0-dev <0.64.0",
|
|
51
|
+
"@typespec/versioning": "~0.63.0 || >=0.64.0-dev <0.64.0"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
|
+
"@azure-tools/typespec-azure-core": "~0.49.0 || >=0.50.0-dev <0.50.0",
|
|
54
55
|
"@types/node": "~22.7.9",
|
|
55
56
|
"@types/pluralize": "^0.0.33",
|
|
57
|
+
"@typespec/compiler": "~0.63.0 || >=0.64.0-dev <0.64.0",
|
|
58
|
+
"@typespec/http": "~0.63.0 || >=0.64.0-dev <0.64.0",
|
|
59
|
+
"@typespec/library-linter": "~0.63.0 || >=0.64.0-dev <0.64.0",
|
|
60
|
+
"@typespec/openapi": "~0.63.0 || >=0.64.0-dev <0.64.0",
|
|
61
|
+
"@typespec/rest": "~0.63.0 || >=0.64.0-dev <0.64.0",
|
|
62
|
+
"@typespec/versioning": "~0.63.0 || >=0.64.0-dev <0.64.0",
|
|
56
63
|
"@vitest/coverage-v8": "^2.1.5",
|
|
57
64
|
"@vitest/ui": "^2.1.2",
|
|
58
65
|
"c8": "^10.1.2",
|
|
59
66
|
"rimraf": "~6.0.1",
|
|
60
67
|
"typescript": "~5.6.3",
|
|
61
68
|
"vitest": "^2.1.5",
|
|
62
|
-
"@
|
|
63
|
-
"@typespec/compiler": "~0.63.0",
|
|
64
|
-
"@typespec/http": "~0.63.0",
|
|
65
|
-
"@typespec/library-linter": "~0.63.0",
|
|
66
|
-
"@typespec/openapi": "~0.63.0",
|
|
67
|
-
"@typespec/rest": "~0.63.0",
|
|
68
|
-
"@typespec/tspd": "~0.46.0",
|
|
69
|
-
"@typespec/versioning": "~0.63.0"
|
|
69
|
+
"@typespec/tspd": "~0.46.0"
|
|
70
70
|
},
|
|
71
71
|
"scripts": {
|
|
72
72
|
"clean": "rimraf ./dist ./temp",
|