@azure-tools/typespec-azure-resource-manager 0.31.0-dev.4 → 0.31.0-dev.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,25 +1,31 @@
1
- export declare const namespace = "Azure.ResourceManager.Foundations";
2
- import { DecoratorContext, Interface, Model, ModelProperty, Operation, Program } from "@typespec/compiler";
1
+ import { DecoratorContext, Interface, Model, ModelProperty, Operation, Program, Tuple } from "@typespec/compiler";
2
+ import { ArmResourceDetails } from "./resource.js";
3
+ export declare const namespace = "Azure.ResourceManager.Private";
4
+ export declare function $omitIfEmpty(context: DecoratorContext, entity: Model, propertyName: string): void;
5
+ export declare function $resourceBaseParametersOf(context: DecoratorContext, entity: Model, resourceType: Model): void;
6
+ export declare function $resourceParameterBaseFor(context: DecoratorContext, entity: ModelProperty, values: Tuple): void;
7
+ export declare function getResourceParameterBases(program: Program, property: ModelProperty): string[] | undefined;
8
+ export declare function isResourceParameterBaseFor(program: Program, property: ModelProperty, resourceBaseType: string): boolean;
3
9
  /**
4
- * Using ARM common definition for a Model
10
+ * Refer an model property to be a common ARM parameter
5
11
  * @param {DecoratorContext} context DecoratorContext object
6
12
  * @param {Type} entity Decorator target type. Must be `Model`
7
13
  * @param {string?} definitionName Optional definition name
8
14
  * @param {string?} version Optional version
9
15
  * @param {string?} referenceFile Optional common file path
10
- * @returns {void}
16
+ * @returns void
11
17
  */
12
- export declare function $armCommonDefinition(context: DecoratorContext, entity: Model, definitionName?: string, version?: string, referenceFile?: string): void;
18
+ export declare function $armCommonParameter(context: DecoratorContext, entity: ModelProperty, parameterName?: string, version?: string, referenceFile?: string): void;
13
19
  /**
14
- * Refer an model property to be a common ARM parameter
20
+ * Using ARM common definition for a Model
15
21
  * @param {DecoratorContext} context DecoratorContext object
16
22
  * @param {Type} entity Decorator target type. Must be `Model`
17
23
  * @param {string?} definitionName Optional definition name
18
24
  * @param {string?} version Optional version
19
25
  * @param {string?} referenceFile Optional common file path
20
- * @returns void
26
+ * @returns {void}
21
27
  */
22
- export declare function $armCommonParameter(context: DecoratorContext, entity: ModelProperty, parameterName?: string, version?: string, referenceFile?: string): void;
28
+ export declare function $armCommonDefinition(context: DecoratorContext, entity: Model, definitionName?: string, version?: string, referenceFile?: string): void;
23
29
  /**
24
30
  * This decorator dynamically assigns the serviceNamespace from the containing
25
31
  * namespace to the string literal value of the path parameter to which this
@@ -41,4 +47,18 @@ export declare function $armUpdateProviderNamespace(context: DecoratorContext, e
41
47
  * Check if an interface is extending the Azure.ResourceManager.Operations interface.
42
48
  */
43
49
  export declare function isArmOperationsListInterface(program: Program, type: Interface): boolean;
44
- //# sourceMappingURL=internal.d.ts.map
50
+ /**
51
+ * This decorator is used to identify ARM resource types and extract their
52
+ * metadata. It is *not* meant to be used directly by a spec author, it instead
53
+ * gets implicitly applied when the spec author defines a model type in this form:
54
+ *
55
+ * `model Server is TrackedResource<ServerProperties>;`
56
+ *
57
+ * The `TrackedResource<T>` type (and other associated base types) use the @armResource
58
+ * decorator, so it also gets applied to the type which absorbs the `TrackedResource<T>`
59
+ * definition by using the `is` keyword.
60
+ */
61
+ export declare function $armResourceInternal(context: DecoratorContext, resourceType: Model, propertiesType: Model): void;
62
+ export declare function listArmResources(program: Program): ArmResourceDetails[];
63
+ export declare function getArmResource(program: Program, resourceType: Model): ArmResourceDetails | undefined;
64
+ //# sourceMappingURL=private.decorators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"private.decorators.d.ts","sourceRoot":"","sources":["../../src/private.decorators.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,gBAAgB,EAChB,SAAS,EACT,KAAK,EACL,aAAa,EACb,SAAS,EACT,OAAO,EAEP,KAAK,EAGN,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EACL,kBAAkB,EAKnB,MAAM,eAAe,CAAC;AAEvB,eAAO,MAAM,SAAS,kCAAkC,CAAC;AAEzD,wBAAgB,YAAY,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,QAU1F;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EACb,YAAY,EAAE,KAAK,QAepB;AAGD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,KAAK,QAUd;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,mBAAmB,CACjC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,aAAa,CAAC,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,MAAM,EAChB,aAAa,CAAC,EAAE,MAAM,GACrB,IAAI,CAiBN;AAMD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EACb,cAAc,CAAC,EAAE,MAAM,EACvB,OAAO,CAAC,EAAE,MAAM,EAChB,aAAa,CAAC,EAAE,MAAM,GACrB,IAAI,CAiBN;AAED;;;;;;;;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;AAGD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,gBAAgB,EACzB,YAAY,EAAE,KAAK,EACnB,cAAc,EAAE,KAAK,QAiFtB;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"}
@@ -0,0 +1,274 @@
1
+ import { $useRef } from "@azure-tools/typespec-autorest";
2
+ import { $visibility, getKeyName, getTypeName, } from "@typespec/compiler";
3
+ import { getSegment } from "@typespec/rest";
4
+ import { createStateSymbol, reportDiagnostic } from "./lib.js";
5
+ import { getArmProviderNamespace } from "./namespace.js";
6
+ import { getArmResourceKind, getResourceBaseType, resolveResourceBaseType, } from "./resource.js";
7
+ export const namespace = "Azure.ResourceManager.Private";
8
+ export function $omitIfEmpty(context, entity, propertyName) {
9
+ const modelProp = getProperty(entity, propertyName);
10
+ if (modelProp &&
11
+ modelProp.type.kind === "Model" &&
12
+ !hasProperty(context.program, modelProp.type)) {
13
+ entity.properties.delete(propertyName);
14
+ }
15
+ }
16
+ export function $resourceBaseParametersOf(context, entity, resourceType) {
17
+ const targetResourceBaseType = getResourceBaseType(context.program, resourceType);
18
+ const removedProperties = [];
19
+ for (const [propertyName, property] of entity.properties) {
20
+ if (!isResourceParameterBaseForInternal(context.program, property, targetResourceBaseType))
21
+ removedProperties.push(propertyName);
22
+ }
23
+ for (const removedProperty of removedProperties) {
24
+ entity.properties.delete(removedProperty);
25
+ }
26
+ }
27
+ const parameterBaseTypesKey = createStateSymbol("parameterBaseTypesKey");
28
+ export function $resourceParameterBaseFor(context, entity, values) {
29
+ const resolvedValues = [];
30
+ for (const value of values.values) {
31
+ if (value.kind !== "EnumMember") {
32
+ return;
33
+ }
34
+ resolvedValues.push(value.name);
35
+ }
36
+ context.program.stateMap(parameterBaseTypesKey).set(entity, resolvedValues);
37
+ }
38
+ export function getResourceParameterBases(program, property) {
39
+ return program.stateMap(parameterBaseTypesKey).get(property);
40
+ }
41
+ export function isResourceParameterBaseFor(program, property, resourceBaseType) {
42
+ return isResourceParameterBaseForInternal(program, property, resolveResourceBaseType(resourceBaseType));
43
+ }
44
+ function isResourceParameterBaseForInternal(program, property, resolvedBaseType) {
45
+ const resourceBases = getResourceParameterBases(program, property);
46
+ if (resourceBases !== undefined) {
47
+ for (const rawType of resourceBases) {
48
+ if (resolveResourceBaseType(rawType) === resolvedBaseType)
49
+ return true;
50
+ }
51
+ }
52
+ return false;
53
+ }
54
+ /**
55
+ * Refer an model property to be a common ARM parameter
56
+ * @param {DecoratorContext} context DecoratorContext object
57
+ * @param {Type} entity Decorator target type. Must be `Model`
58
+ * @param {string?} definitionName Optional definition name
59
+ * @param {string?} version Optional version
60
+ * @param {string?} referenceFile Optional common file path
61
+ * @returns void
62
+ */
63
+ export function $armCommonParameter(context, entity, parameterName, version, referenceFile) {
64
+ // Use the name of the model type if not specified
65
+ if (!parameterName) {
66
+ parameterName = entity.name;
67
+ }
68
+ const basePath = getArmTypesPath(context.program).trim();
69
+ // for backward compatibility, skip if we are trying to access a non-default file and emit the type
70
+ if ((version || referenceFile) && basePath.endsWith(".json"))
71
+ return;
72
+ if (!version)
73
+ version = "v3";
74
+ if (!referenceFile)
75
+ referenceFile = "types.json";
76
+ const path = basePath.endsWith(".json")
77
+ ? `${basePath}#/parameters/${parameterName}`
78
+ : `${basePath}/${version}/${referenceFile}#/parameters/${parameterName}`;
79
+ context.call($useRef, entity, path);
80
+ }
81
+ function getArmTypesPath(program) {
82
+ return program.getOption("arm-types-path") || "{arm-types-dir}";
83
+ }
84
+ /**
85
+ * Using ARM common definition for a Model
86
+ * @param {DecoratorContext} context DecoratorContext object
87
+ * @param {Type} entity Decorator target type. Must be `Model`
88
+ * @param {string?} definitionName Optional definition name
89
+ * @param {string?} version Optional version
90
+ * @param {string?} referenceFile Optional common file path
91
+ * @returns {void}
92
+ */
93
+ export function $armCommonDefinition(context, entity, definitionName, version, referenceFile) {
94
+ // Use the name of the model type if not specified
95
+ if (!definitionName) {
96
+ definitionName = entity.name;
97
+ }
98
+ const basePath = getArmTypesPath(context.program).trim();
99
+ // for backward compatibility, skip if we are trying to access a non-default file and emit the type
100
+ if ((version || referenceFile) && basePath.endsWith(".json"))
101
+ return;
102
+ if (!version)
103
+ version = "v3";
104
+ if (!referenceFile)
105
+ referenceFile = "types.json";
106
+ const path = basePath.endsWith(".json")
107
+ ? `${basePath}#/definitions/${definitionName}`
108
+ : `${basePath}/${version}/${referenceFile}#/definitions/${definitionName}`;
109
+ context.call($useRef, entity, path);
110
+ }
111
+ /**
112
+ * This decorator dynamically assigns the serviceNamespace from the containing
113
+ * namespace to the string literal value of the path parameter to which this
114
+ * decorator is applied. Its purpose is to dynamically insert the provider
115
+ * namespace (e.g. 'Microsoft.CodeSigning') into the path parameter list.
116
+ * @param {DecoratorContext} context DecoratorContext
117
+ * @param {Type} target Target of this decorator. Must be a string `ModelProperty`.
118
+ * @param {Type} resourceType Must be a `Model`.
119
+ */
120
+ export function $assignProviderNameValue(context, target, resourceType) {
121
+ const { program } = context;
122
+ const armProviderNamespace = getArmProviderNamespace(program, resourceType);
123
+ if (armProviderNamespace) {
124
+ target.type.value = armProviderNamespace;
125
+ }
126
+ }
127
+ /**
128
+ * Update the ARM provider namespace for a given entity.
129
+ * @param {DecoratorContext} context DecoratorContext
130
+ * @param {Type} entity Entity to set namespace. Must be a `Operation`.
131
+ * @returns
132
+ */
133
+ export function $armUpdateProviderNamespace(context, entity) {
134
+ const { program } = context;
135
+ const operation = entity;
136
+ const opInterface = operation.interface;
137
+ if (opInterface && opInterface.namespace) {
138
+ const armProviderNamespace = getArmProviderNamespace(program, opInterface.namespace);
139
+ if (armProviderNamespace) {
140
+ // Set the namespace constant on the 'provider' parameter
141
+ const providerParam = operation.parameters.properties.get("provider");
142
+ if (providerParam) {
143
+ if (providerParam.type.kind !== "String") {
144
+ reportDiagnostic(program, {
145
+ code: "decorator-param-wrong-type",
146
+ messageId: "armUpdateProviderNamespace",
147
+ target: providerParam,
148
+ });
149
+ return;
150
+ }
151
+ providerParam.type.value = armProviderNamespace;
152
+ }
153
+ }
154
+ }
155
+ }
156
+ /**
157
+ * Check if an interface is extending the Azure.ResourceManager.Operations interface.
158
+ */
159
+ export function isArmOperationsListInterface(program, type) {
160
+ if (type.name !== "Operations") {
161
+ return false;
162
+ }
163
+ const listOperation = type.operations.get("list");
164
+ if (listOperation) {
165
+ if (getSegment(program, listOperation) === "operations") {
166
+ return true;
167
+ }
168
+ }
169
+ return false;
170
+ }
171
+ const armResourcesKey = createStateSymbol("armResources");
172
+ /**
173
+ * This decorator is used to identify ARM resource types and extract their
174
+ * metadata. It is *not* meant to be used directly by a spec author, it instead
175
+ * gets implicitly applied when the spec author defines a model type in this form:
176
+ *
177
+ * `model Server is TrackedResource<ServerProperties>;`
178
+ *
179
+ * The `TrackedResource<T>` type (and other associated base types) use the @armResource
180
+ * decorator, so it also gets applied to the type which absorbs the `TrackedResource<T>`
181
+ * definition by using the `is` keyword.
182
+ */
183
+ export function $armResourceInternal(context, resourceType, propertiesType) {
184
+ const { program } = context;
185
+ if (resourceType.namespace && getTypeName(resourceType.namespace) === "Azure.ResourceManager") {
186
+ // The @armResource decorator will be evaluated on instantiations of
187
+ // base templated resource types like TrackedResource<SomeResource>,
188
+ // so ignore in that case.
189
+ return;
190
+ }
191
+ // The global namespace has an empty string as name
192
+ if (!resourceType.namespace || resourceType.namespace.name === "") {
193
+ reportDiagnostic(program, {
194
+ code: "decorator-in-namespace",
195
+ format: { decoratorName: "armResource" },
196
+ target: resourceType,
197
+ });
198
+ return;
199
+ }
200
+ // Locate the ARM namespace in the namespace hierarchy
201
+ const armProviderNamespace = getArmProviderNamespace(program, resourceType.namespace);
202
+ if (!armProviderNamespace) {
203
+ reportDiagnostic(program, { code: "arm-resource-missing-arm-namespace", target: resourceType });
204
+ return;
205
+ }
206
+ // Ensure the resource type has defined a name property that has a segment
207
+ const nameProperty = resourceType.properties.get("name");
208
+ if (!nameProperty) {
209
+ reportDiagnostic(program, { code: "arm-resource-missing-name-property", target: resourceType });
210
+ return;
211
+ }
212
+ // Set the name property to be read only
213
+ context.call($visibility, nameProperty, "read");
214
+ const keyName = getKeyName(program, nameProperty);
215
+ if (!keyName) {
216
+ reportDiagnostic(program, {
217
+ code: "arm-resource-missing-name-key-decorator",
218
+ target: resourceType,
219
+ });
220
+ return;
221
+ }
222
+ const collectionName = getSegment(program, nameProperty);
223
+ if (!collectionName) {
224
+ reportDiagnostic(program, {
225
+ code: "arm-resource-missing-name-segment-decorator",
226
+ target: resourceType,
227
+ });
228
+ return;
229
+ }
230
+ const kind = getArmResourceKind(resourceType);
231
+ if (!kind) {
232
+ reportDiagnostic(program, {
233
+ code: "arm-resource-invalid-base-type",
234
+ target: resourceType,
235
+ });
236
+ return;
237
+ }
238
+ const armResourceDetails = {
239
+ name: resourceType.name,
240
+ kind,
241
+ typespecType: resourceType,
242
+ collectionName,
243
+ keyName,
244
+ armProviderNamespace: armProviderNamespace !== null && armProviderNamespace !== void 0 ? armProviderNamespace : "",
245
+ operations: {
246
+ lifecycle: {},
247
+ lists: {},
248
+ actions: {},
249
+ },
250
+ };
251
+ program.stateMap(armResourcesKey).set(resourceType, armResourceDetails);
252
+ }
253
+ export function listArmResources(program) {
254
+ return [...program.stateMap(armResourcesKey).values()];
255
+ }
256
+ export function getArmResource(program, resourceType) {
257
+ return program.stateMap(armResourcesKey).get(resourceType);
258
+ }
259
+ function getProperty(model, propertyName) {
260
+ var _a;
261
+ let returnProperty = (_a = model.properties) === null || _a === void 0 ? void 0 : _a.get(propertyName);
262
+ if (!returnProperty && model.baseModel) {
263
+ returnProperty = getProperty(model.baseModel, propertyName);
264
+ }
265
+ return returnProperty;
266
+ }
267
+ function hasProperty(program, model) {
268
+ if (model.properties.size > 0)
269
+ return true;
270
+ if (model.baseModel)
271
+ return hasProperty(program, model.baseModel);
272
+ return false;
273
+ }
274
+ //# sourceMappingURL=private.decorators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"private.decorators.js","sourceRoot":"","sources":["../../src/private.decorators.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { DecoratorContext, Interface, Model, ModelProperty, Operation, Program, Tuple } from "@typespec/compiler";
1
+ import { DecoratorContext, Interface, Model, Operation, Program } from "@typespec/compiler";
2
2
  import { ArmResourceOperations } from "./operations.js";
3
3
  export type ArmResourceKind = "Tracked" | "Proxy" | "Extension";
4
4
  /**
@@ -25,21 +25,9 @@ export interface ArmResourceDetails extends ArmResourceDetailsBase {
25
25
  * so that operation route details are certain to be present.
26
26
  */
27
27
  export declare function getArmResources(program: Program): ArmResourceDetails[];
28
- export declare function getArmResource(program: Program, resourceType: Model): ArmResourceDetails | undefined;
28
+ export { getArmResource } from "./private.decorators.js";
29
29
  export declare function getArmResourceInfo(program: Program, resourceType: Model): ArmResourceDetails | undefined;
30
30
  export declare function getArmResourceKind(resourceType: Model): ArmResourceKind | undefined;
31
- /**
32
- * This decorator is used to identify ARM resource types and extract their
33
- * metadata. It is *not* meant to be used directly by a spec author, it instead
34
- * gets implicitly applied when the spec author defines a model type in this form:
35
- *
36
- * `model Server is TrackedResource<ServerProperties>;`
37
- *
38
- * The `TrackedResource<T>` type (and other associated base types) use the @armResource
39
- * decorator, so it also gets applied to the type which absorbs the `TrackedResource<T>`
40
- * definition by using the `is` keyword.
41
- */
42
- export declare function $armResourceInternal(context: DecoratorContext, resourceType: Model, propertiesType: Model): void;
43
31
  /**
44
32
  * This decorator is used to identify interfaces containing resource operations.
45
33
  * When applied, it marks the interface with the `@autoRoute` decorator so that
@@ -73,10 +61,6 @@ export declare function $locationResource(context: DecoratorContext, entity: Mod
73
61
  export declare function $resourceGroupResource(context: DecoratorContext, entity: Model): void;
74
62
  export declare function $extensionResource(context: DecoratorContext, entity: Model): void;
75
63
  export declare function $armProviderNameValue(context: DecoratorContext, entity: Operation): void;
76
- export declare function $resourceParameterBaseFor(context: DecoratorContext, entity: ModelProperty, values: Tuple): void;
77
- export declare function $resourceBaseParametersOf(context: DecoratorContext, entity: Model, resourceType: Model): void;
78
- export declare function $omitIfEmpty(context: DecoratorContext, entity: Model, propertyName: string): void;
79
- export declare function isResourceParameterBaseFor(program: Program, property: ModelProperty, resourceBaseType: string): boolean;
80
- export declare function getResourceParameterBases(program: Program, property: ModelProperty): string[] | undefined;
81
64
  export declare function getResourceBaseType(program: Program, resource: Model): ResourceBaseType;
65
+ export declare function resolveResourceBaseType(type?: string | undefined): ResourceBaseType;
82
66
  //# sourceMappingURL=resource.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/resource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EAEhB,SAAS,EAET,KAAK,EACL,SAAS,EACT,OAAO,EAER,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAE,qBAAqB,EAA6B,MAAM,iBAAiB,CAAC;AAGnF,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC;AAEhE;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,eAAe,CAAC;IACtB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,KAAK,CAAC;CACrB;AAED,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB;IAChE,UAAU,EAAE,qBAAqB,CAAC;CACnC;AAgBD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,kBAAkB,EAAE,CAiBtE;AAED,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,KAAK,GAClB,kBAAkB,GAAG,SAAS,CAYhC;AAED,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,KAAK,GAAG,eAAe,GAAG,SAAS,CAanF;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,SAAS,GAAG,IAAI,CAUhG;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,gBAAgB,EACzB,YAAY,EAAE,KAAK,EACnB,QAAQ,GAAE,MAAkB,GAC3B,IAAI,CAEN;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,GAAG,OAAO,CAElF;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAEjG;AAED,oBAAY,gBAAgB;IAC1B,MAAM,WAAW;IACjB,YAAY,iBAAiB;IAC7B,QAAQ,aAAa;IACrB,aAAa,kBAAkB;IAC/B,SAAS,cAAc;CACxB;AAGD,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,QAEvE;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,QAE7E;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,QAEzE;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,QAE9E;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,QAE1E;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,QAQjF;AAkCD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,GAAG,gBAAgB,CAYvF;AAED,wBAAgB,uBAAuB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,gBAAgB,CAsBnF"}
@@ -1,9 +1,9 @@
1
- import { $tag, $visibility, getKeyName, getTags, getTypeName, isGlobalNamespace, } from "@typespec/compiler";
1
+ import { $tag, getTags, isGlobalNamespace, } from "@typespec/compiler";
2
2
  import { $autoRoute, getParentResource, getSegment } from "@typespec/rest";
3
3
  import { createStateSymbol, reportDiagnostic } from "./lib.js";
4
4
  import { getArmProviderNamespace } from "./namespace.js";
5
5
  import { resolveResourceOperations } from "./operations.js";
6
- const armResourcesKey = createStateSymbol("armResources");
6
+ import { getArmResource, listArmResources } from "./private.decorators.js";
7
7
  const armResourcesCachedKey = createStateSymbol("armResourcesCached");
8
8
  const armSingletonResourcesKey = createStateSymbol("armSingletonResources");
9
9
  function resolveArmResourceDetails(program, resource) {
@@ -29,18 +29,16 @@ export function getArmResources(program) {
29
29
  }
30
30
  // We haven't generated the full resource details yet
31
31
  const resources = [];
32
- for (const resource of program.stateMap(armResourcesKey).values()) {
32
+ for (const resource of listArmResources(program)) {
33
33
  const fullResource = resolveArmResourceDetails(program, resource);
34
34
  cachedResources.set(resource.typespecType, fullResource);
35
35
  resources.push(fullResource);
36
36
  }
37
37
  return resources;
38
38
  }
39
- export function getArmResource(program, resourceType) {
40
- return program.stateMap(armResourcesKey).get(resourceType);
41
- }
39
+ export { getArmResource } from "./private.decorators.js";
42
40
  export function getArmResourceInfo(program, resourceType) {
43
- const resourceInfo = program.stateMap(armResourcesKey).get(resourceType);
41
+ const resourceInfo = getArmResource(program, resourceType);
44
42
  if (!resourceInfo) {
45
43
  reportDiagnostic(program, {
46
44
  code: "arm-resource-missing",
@@ -65,87 +63,6 @@ export function getArmResourceKind(resourceType) {
65
63
  }
66
64
  return undefined;
67
65
  }
68
- /**
69
- * This decorator is used to identify ARM resource types and extract their
70
- * metadata. It is *not* meant to be used directly by a spec author, it instead
71
- * gets implicitly applied when the spec author defines a model type in this form:
72
- *
73
- * `model Server is TrackedResource<ServerProperties>;`
74
- *
75
- * The `TrackedResource<T>` type (and other associated base types) use the @armResource
76
- * decorator, so it also gets applied to the type which absorbs the `TrackedResource<T>`
77
- * definition by using the `is` keyword.
78
- */
79
- export function $armResourceInternal(context, resourceType, propertiesType) {
80
- const { program } = context;
81
- if (resourceType.namespace && getTypeName(resourceType.namespace) === "Azure.ResourceManager") {
82
- // The @armResource decorator will be evaluated on instantiations of
83
- // base templated resource types like TrackedResource<SomeResource>,
84
- // so ignore in that case.
85
- return;
86
- }
87
- // The global namespace has an empty string as name
88
- if (!resourceType.namespace || resourceType.namespace.name === "") {
89
- reportDiagnostic(program, {
90
- code: "decorator-in-namespace",
91
- format: { decoratorName: "armResource" },
92
- target: resourceType,
93
- });
94
- return;
95
- }
96
- // Locate the ARM namespace in the namespace hierarchy
97
- const armProviderNamespace = getArmProviderNamespace(program, resourceType.namespace);
98
- if (!armProviderNamespace) {
99
- reportDiagnostic(program, { code: "arm-resource-missing-arm-namespace", target: resourceType });
100
- return;
101
- }
102
- // Ensure the resource type has defined a name property that has a segment
103
- const nameProperty = resourceType.properties.get("name");
104
- if (!nameProperty) {
105
- reportDiagnostic(program, { code: "arm-resource-missing-name-property", target: resourceType });
106
- return;
107
- }
108
- // Set the name property to be read only
109
- context.call($visibility, nameProperty, "read");
110
- const keyName = getKeyName(program, nameProperty);
111
- if (!keyName) {
112
- reportDiagnostic(program, {
113
- code: "arm-resource-missing-name-key-decorator",
114
- target: resourceType,
115
- });
116
- return;
117
- }
118
- const collectionName = getSegment(program, nameProperty);
119
- if (!collectionName) {
120
- reportDiagnostic(program, {
121
- code: "arm-resource-missing-name-segment-decorator",
122
- target: resourceType,
123
- });
124
- return;
125
- }
126
- const kind = getArmResourceKind(resourceType);
127
- if (!kind) {
128
- reportDiagnostic(program, {
129
- code: "arm-resource-invalid-base-type",
130
- target: resourceType,
131
- });
132
- return;
133
- }
134
- const armResourceDetails = {
135
- name: resourceType.name,
136
- kind,
137
- typespecType: resourceType,
138
- collectionName,
139
- keyName,
140
- armProviderNamespace: armProviderNamespace !== null && armProviderNamespace !== void 0 ? armProviderNamespace : "",
141
- operations: {
142
- lifecycle: {},
143
- lists: {},
144
- actions: {},
145
- },
146
- };
147
- program.stateMap(armResourcesKey).set(resourceType, armResourceDetails);
148
- }
149
66
  /**
150
67
  * This decorator is used to identify interfaces containing resource operations.
151
68
  * When applied, it marks the interface with the `@autoRoute` decorator so that
@@ -189,7 +106,6 @@ export var ResourceBaseType;
189
106
  ResourceBaseType["Extension"] = "Extension";
190
107
  })(ResourceBaseType = ResourceBaseType || (ResourceBaseType = {}));
191
108
  const resourceBaseTypeKey = createStateSymbol("resourceBaseTypeKey");
192
- const parameterBaseTypesKey = createStateSymbol("parameterBaseTypesKey");
193
109
  export function $tenantResource(context, entity) {
194
110
  setResourceBaseType(context.program, entity, "Tenant");
195
111
  }
@@ -232,51 +148,6 @@ function getServiceNamespace(program, type) {
232
148
  return undefined;
233
149
  }
234
150
  }
235
- export function $resourceParameterBaseFor(context, entity, values) {
236
- const resolvedValues = [];
237
- for (const value of values.values) {
238
- if (value.kind !== "EnumMember") {
239
- return;
240
- }
241
- resolvedValues.push(value.name);
242
- }
243
- context.program.stateMap(parameterBaseTypesKey).set(entity, resolvedValues);
244
- }
245
- export function $resourceBaseParametersOf(context, entity, resourceType) {
246
- const targetResourceBaseType = getResourceBaseType(context.program, resourceType);
247
- const removedProperties = [];
248
- for (const [propertyName, property] of entity.properties) {
249
- if (!isResourceParameterBaseForInternal(context.program, property, targetResourceBaseType))
250
- removedProperties.push(propertyName);
251
- }
252
- for (const removedProperty of removedProperties) {
253
- entity.properties.delete(removedProperty);
254
- }
255
- }
256
- export function $omitIfEmpty(context, entity, propertyName) {
257
- const modelProp = getProperty(entity, propertyName);
258
- if (modelProp &&
259
- modelProp.type.kind === "Model" &&
260
- !hasProperty(context.program, modelProp.type)) {
261
- entity.properties.delete(propertyName);
262
- }
263
- }
264
- export function isResourceParameterBaseFor(program, property, resourceBaseType) {
265
- return isResourceParameterBaseForInternal(program, property, resolveResourceBaseType(resourceBaseType));
266
- }
267
- function isResourceParameterBaseForInternal(program, property, resolvedBaseType) {
268
- const resourceBases = getResourceParameterBases(program, property);
269
- if (resourceBases !== undefined) {
270
- for (const rawType of resourceBases) {
271
- if (resolveResourceBaseType(rawType) === resolvedBaseType)
272
- return true;
273
- }
274
- }
275
- return false;
276
- }
277
- export function getResourceParameterBases(program, property) {
278
- return program.stateMap(parameterBaseTypesKey).get(property);
279
- }
280
151
  function setResourceBaseType(program, resource, type) {
281
152
  if (program.stateMap(resourceBaseTypeKey).has(resource)) {
282
153
  reportDiagnostic(program, {
@@ -299,7 +170,7 @@ export function getResourceBaseType(program, resource) {
299
170
  const keyValue = program.stateMap(resourceBaseTypeKey).get(resource);
300
171
  return resolveResourceBaseType(keyValue);
301
172
  }
302
- function resolveResourceBaseType(type) {
173
+ export function resolveResourceBaseType(type) {
303
174
  let resolvedType = ResourceBaseType.ResourceGroup;
304
175
  if (type !== undefined) {
305
176
  switch (type) {
@@ -322,19 +193,4 @@ function resolveResourceBaseType(type) {
322
193
  }
323
194
  return resolvedType;
324
195
  }
325
- function getProperty(model, propertyName) {
326
- var _a;
327
- let returnProperty = (_a = model.properties) === null || _a === void 0 ? void 0 : _a.get(propertyName);
328
- if (!returnProperty && model.baseModel) {
329
- returnProperty = getProperty(model.baseModel, propertyName);
330
- }
331
- return returnProperty;
332
- }
333
- function hasProperty(program, model) {
334
- if (model.properties.size > 0)
335
- return true;
336
- if (model.baseModel)
337
- return hasProperty(program, model.baseModel);
338
- return false;
339
- }
340
196
  //# sourceMappingURL=resource.js.map
@@ -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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"}
@@ -2,8 +2,8 @@ import { getEffectiveModelType, getProperty, isErrorType, SyntaxKind, } from "@t
2
2
  import { getOperationVerb, isBody, isHeader, isPathParam, isQueryParam, } from "@typespec/http";
3
3
  import { createRule } from "@typespec/lint";
4
4
  import { getActionDetails } from "@typespec/rest";
5
- import { isArmOperationsListInterface } from "../internal.js";
6
5
  import { reportDiagnostic } from "../lib.js";
6
+ import { isArmOperationsListInterface } from "../private.decorators.js";
7
7
  import { getArmResource } from "../resource.js";
8
8
  import { getNamespaceName, getSourceModel, isInternalTypeSpec, isTemplatedInterfaceOperation, } from "./utils.js";
9
9
  export const coreOperationsRule = createRule({
@@ -1 +1 @@
1
- {"version":3,"file":"core-operations.js","sourceRoot":"","sources":["../../../src/rules/core-operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core-operations.js","sourceRoot":"","sources":["../../../src/rules/core-operations.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { isService } from "@typespec/compiler";
2
2
  import { createRule } from "@typespec/lint";
3
- import { isArmOperationsListInterface } from "../internal.js";
4
3
  import { reportDiagnostic } from "../lib.js";
5
4
  import { getArmProviderNamespace } from "../namespace.js";
5
+ import { isArmOperationsListInterface } from "../private.decorators.js";
6
6
  /**
7
7
  * verify that the Arm Operations interface is included.
8
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"operations-interface-missing.js","sourceRoot":"","sources":["../../../src/rules/operations-interface-missing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE1D;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,UAAU,CAAC;IACvD,IAAI,EAAE,8BAA8B;IACpC,MAAM,CAAC,EAAE,OAAO,EAAE;QAChB,OAAO;YACL,SAAS,EAAE,CAAC,SAAS,EAAE,EAAE;gBACvB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE;oBAClC,OAAO;iBACR;gBAED,MAAM,YAAY,GAAG,uBAAuB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBACjE,IAAI,CAAC,YAAY,EAAE;oBACjB,OAAO;iBACR;gBACD,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE;oBAChD,IAAI,4BAA4B,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;wBAC/C,OAAO;qBACR;iBACF;gBACD,gBAAgB,CAAC,OAAO,EAAE;oBACxB,IAAI,EAAE,6BAA6B;oBACnC,MAAM,EAAE;wBACN,SAAS,EAAE,SAAS,CAAC,IAAI;qBAC1B;oBACD,MAAM,EAAE,SAAS;iBAClB,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"operations-interface-missing.js","sourceRoot":"","sources":["../../../src/rules/operations-interface-missing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AAExE;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,UAAU,CAAC;IACvD,IAAI,EAAE,8BAA8B;IACpC,MAAM,CAAC,EAAE,OAAO,EAAE;QAChB,OAAO;YACL,SAAS,EAAE,CAAC,SAAS,EAAE,EAAE;gBACvB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE;oBAClC,OAAO;iBACR;gBAED,MAAM,YAAY,GAAG,uBAAuB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBACjE,IAAI,CAAC,YAAY,EAAE;oBACjB,OAAO;iBACR;gBACD,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE;oBAChD,IAAI,4BAA4B,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;wBAC/C,OAAO;qBACR;iBACF;gBACD,gBAAgB,CAAC,OAAO,EAAE;oBACxB,IAAI,EAAE,6BAA6B;oBACnC,MAAM,EAAE;wBACN,SAAS,EAAE,SAAS,CAAC,IAAI;qBAC1B;oBACD,MAAM,EAAE,SAAS;iBAClB,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
@@ -1,6 +1,7 @@
1
1
  using TypeSpec.Http;
2
2
  using OpenAPI;
3
3
  using TypeSpec.Versioning;
4
+ using Azure.ResourceManager.Private;
4
5
 
5
6
  namespace Azure.ResourceManager.Foundations;
6
7
 
package/lib/arm.tsp CHANGED
@@ -1,5 +1,4 @@
1
1
  import "../dist/src/index.js";
2
- import "../dist/src/internal.js";
3
2
  import "@typespec/openapi";
4
3
  import "@typespec/http";
5
4
  import "@typespec/rest";
@@ -8,7 +7,7 @@ import "@azure-tools/typespec-autorest";
8
7
  import "@azure-tools/typespec-azure-core";
9
8
 
10
9
  import "./arm.foundations.tsp";
11
- import "./arm.foundations.decorators.tsp";
10
+ import "./private.decorators.tsp";
12
11
  import "./models.tsp";
13
12
  import "./operations.tsp";
14
13
  import "./decorators.tsp";
@@ -141,21 +141,6 @@ extern dec armResourceDelete(target: Operation, resourceType: Model);
141
141
  */
142
142
  extern dec armResourceList(target: Operation, resourceType: Model);
143
143
 
144
- /**
145
- * This decorator is used to identify ARM resource types and extract their
146
- * metadata. It is *not* meant to be used directly by a spec author, it instead
147
- * gets implicitly applied when the spec author defines a model type in this form:
148
- *
149
- * `model Server is TrackedResource<ServerProperties>;`
150
- *
151
- * The `TrackedResource<T>` type (and other associated base types) use the `@armResource`
152
- * decorator, so it also gets applied to the type which absorbs the `TrackedResource<T>`
153
- * definition by using the `is` keyword.
154
- *
155
- * @param properties Arm resource properties
156
- */
157
- extern dec armResourceInternal(target: Model, properties: Model);
158
-
159
144
  /**
160
145
  * This decorator is used to identify interfaces containing resource operations.
161
146
  * When applied, it marks the interface with the `@autoRoute` decorator so that
@@ -168,19 +153,3 @@ extern dec armResourceInternal(target: Model, properties: Model);
168
153
  * @param _ DEPRECATED
169
154
  */
170
155
  extern dec armResourceOperations(target: Interface, _?: unknown);
171
-
172
- /**
173
- * Omit a property in the target model.
174
- * @internal
175
- * @param propertyName Name of the property to omit
176
- */
177
- extern dec omitIfEmpty(target: Model, propertyName: string);
178
-
179
- /**
180
- * @param propertyName Name of the property to omit
181
- */
182
- extern dec resourceBaseParametersOf(target: Model, propertyName: Model);
183
- /**
184
- * @param values Values
185
- */
186
- extern dec resourceParameterBaseFor(target: ModelProperty, values: unknown[]);
@@ -3,6 +3,7 @@ using TypeSpec.Rest;
3
3
  using OpenAPI;
4
4
  using Autorest;
5
5
  using Azure.ResourceManager.Foundations;
6
+ using Azure.ResourceManager.Private;
6
7
 
7
8
  namespace Azure.ResourceManager;
8
9
 
package/lib/models.tsp CHANGED
@@ -2,6 +2,7 @@ using TypeSpec.Http;
2
2
  using TypeSpec.Rest;
3
3
  using OpenAPI;
4
4
  using Azure.ResourceManager.Foundations;
5
+ using Azure.ResourceManager.Private;
5
6
 
6
7
  namespace Azure.ResourceManager;
7
8
 
@@ -2,6 +2,7 @@ using TypeSpec.Http;
2
2
  using TypeSpec.Rest;
3
3
  using OpenAPI;
4
4
  using Azure.ResourceManager.Foundations;
5
+ using Azure.ResourceManager.Private;
5
6
 
6
7
  namespace Azure.ResourceManager;
7
8
 
@@ -0,0 +1,70 @@
1
+ import "../dist/src/private.decorators.js";
2
+
3
+ namespace Azure.ResourceManager.Private;
4
+
5
+ using TypeSpec.Reflection;
6
+
7
+ /**
8
+ * Update the ARM provider namespace for a given entity.
9
+ */
10
+ extern dec armUpdateProviderNamespace(target: Reflection.Operation);
11
+
12
+ /**
13
+ * @param resource Resource model
14
+ */
15
+ extern dec assignProviderNameValue(target: ModelProperty, resource: Model);
16
+
17
+ /**
18
+ * @param definitionName Definition name
19
+ * @param version Arm Version
20
+ * @param referenceFile Reference file
21
+ */
22
+ extern dec armCommonDefinition(
23
+ target: Model,
24
+ definitionName?: string,
25
+ version?: string,
26
+ referenceFile?: string
27
+ );
28
+
29
+ /**
30
+ * @param definitionName Definition name
31
+ * @param version Arm Version
32
+ * @param referenceFile Reference file
33
+ */
34
+ extern dec armCommonParameter(
35
+ target: ModelProperty,
36
+ definitionName?: string,
37
+ version?: string,
38
+ referenceFile?: string
39
+ );
40
+
41
+ /**
42
+ * This decorator is used to identify ARM resource types and extract their
43
+ * metadata. It is *not* meant to be used directly by a spec author, it instead
44
+ * gets implicitly applied when the spec author defines a model type in this form:
45
+ *
46
+ * `model Server is TrackedResource<ServerProperties>;`
47
+ *
48
+ * The `TrackedResource<T>` type (and other associated base types) use the `@armResource`
49
+ * decorator, so it also gets applied to the type which absorbs the `TrackedResource<T>`
50
+ * definition by using the `is` keyword.
51
+ *
52
+ * @param properties Arm resource properties
53
+ */
54
+ extern dec armResourceInternal(target: Model, properties: Model);
55
+
56
+ /**
57
+ * Omit a property in the target model.
58
+ * @internal
59
+ * @param propertyName Name of the property to omit
60
+ */
61
+ extern dec omitIfEmpty(target: Model, propertyName: string);
62
+
63
+ /**
64
+ * @param propertyName Name of the property to omit
65
+ */
66
+ extern dec resourceBaseParametersOf(target: Model, propertyName: Model);
67
+ /**
68
+ * @param values Values
69
+ */
70
+ extern dec resourceParameterBaseFor(target: ModelProperty, values: unknown[]);
package/lib/responses.tsp CHANGED
@@ -2,6 +2,7 @@ using TypeSpec.Http;
2
2
  using TypeSpec.Rest;
3
3
  using OpenAPI;
4
4
  using Azure.ResourceManager.Foundations;
5
+ using Azure.ResourceManager.Private;
5
6
 
6
7
  namespace Azure.ResourceManager;
7
8
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@azure-tools/typespec-azure-resource-manager",
3
- "version": "0.31.0-dev.4",
3
+ "version": "0.31.0-dev.5",
4
4
  "author": "Microsoft Corporation",
5
5
  "description": "TypeSpec Azure Resource Manager library",
6
6
  "homepage": "https://azure.github.io/typespec-azure",
@@ -1 +0,0 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/internal.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,sCAAsC,CAAC;AAG7D,OAAO,EACL,gBAAgB,EAChB,SAAS,EACT,KAAK,EACL,aAAa,EACb,SAAS,EACT,OAAO,EAER,MAAM,oBAAoB,CAAC;AAS5B;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EACb,cAAc,CAAC,EAAE,MAAM,EACvB,OAAO,CAAC,EAAE,MAAM,EAChB,aAAa,CAAC,EAAE,MAAM,GACrB,IAAI,CAiBN;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,aAAa,CAAC,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,MAAM,EAChB,aAAa,CAAC,EAAE,MAAM,GACrB,IAAI,CAiBN;AAED;;;;;;;;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"}
@@ -1,123 +0,0 @@
1
- export const namespace = "Azure.ResourceManager.Foundations";
2
- import { $useRef } from "@azure-tools/typespec-autorest";
3
- import { getSegment } from "@typespec/rest";
4
- import { reportDiagnostic } from "./lib.js";
5
- import { getArmProviderNamespace } from "./namespace.js";
6
- function getArmTypesPath(program) {
7
- return program.getOption("arm-types-path") || "{arm-types-dir}";
8
- }
9
- /**
10
- * Using ARM common definition for a Model
11
- * @param {DecoratorContext} context DecoratorContext object
12
- * @param {Type} entity Decorator target type. Must be `Model`
13
- * @param {string?} definitionName Optional definition name
14
- * @param {string?} version Optional version
15
- * @param {string?} referenceFile Optional common file path
16
- * @returns {void}
17
- */
18
- export function $armCommonDefinition(context, entity, definitionName, version, referenceFile) {
19
- // Use the name of the model type if not specified
20
- if (!definitionName) {
21
- definitionName = entity.name;
22
- }
23
- const basePath = getArmTypesPath(context.program).trim();
24
- // for backward compatibility, skip if we are trying to access a non-default file and emit the type
25
- if ((version || referenceFile) && basePath.endsWith(".json"))
26
- return;
27
- if (!version)
28
- version = "v3";
29
- if (!referenceFile)
30
- referenceFile = "types.json";
31
- const path = basePath.endsWith(".json")
32
- ? `${basePath}#/definitions/${definitionName}`
33
- : `${basePath}/${version}/${referenceFile}#/definitions/${definitionName}`;
34
- context.call($useRef, entity, path);
35
- }
36
- /**
37
- * Refer an model property to be a common ARM parameter
38
- * @param {DecoratorContext} context DecoratorContext object
39
- * @param {Type} entity Decorator target type. Must be `Model`
40
- * @param {string?} definitionName Optional definition name
41
- * @param {string?} version Optional version
42
- * @param {string?} referenceFile Optional common file path
43
- * @returns void
44
- */
45
- export function $armCommonParameter(context, entity, parameterName, version, referenceFile) {
46
- // Use the name of the model type if not specified
47
- if (!parameterName) {
48
- parameterName = entity.name;
49
- }
50
- const basePath = getArmTypesPath(context.program).trim();
51
- // for backward compatibility, skip if we are trying to access a non-default file and emit the type
52
- if ((version || referenceFile) && basePath.endsWith(".json"))
53
- return;
54
- if (!version)
55
- version = "v3";
56
- if (!referenceFile)
57
- referenceFile = "types.json";
58
- const path = basePath.endsWith(".json")
59
- ? `${basePath}#/parameters/${parameterName}`
60
- : `${basePath}/${version}/${referenceFile}#/parameters/${parameterName}`;
61
- context.call($useRef, entity, path);
62
- }
63
- /**
64
- * This decorator dynamically assigns the serviceNamespace from the containing
65
- * namespace to the string literal value of the path parameter to which this
66
- * decorator is applied. Its purpose is to dynamically insert the provider
67
- * namespace (e.g. 'Microsoft.CodeSigning') into the path parameter list.
68
- * @param {DecoratorContext} context DecoratorContext
69
- * @param {Type} target Target of this decorator. Must be a string `ModelProperty`.
70
- * @param {Type} resourceType Must be a `Model`.
71
- */
72
- export function $assignProviderNameValue(context, target, resourceType) {
73
- const { program } = context;
74
- const armProviderNamespace = getArmProviderNamespace(program, resourceType);
75
- if (armProviderNamespace) {
76
- target.type.value = armProviderNamespace;
77
- }
78
- }
79
- /**
80
- * Update the ARM provider namespace for a given entity.
81
- * @param {DecoratorContext} context DecoratorContext
82
- * @param {Type} entity Entity to set namespace. Must be a `Operation`.
83
- * @returns
84
- */
85
- export function $armUpdateProviderNamespace(context, entity) {
86
- const { program } = context;
87
- const operation = entity;
88
- const opInterface = operation.interface;
89
- if (opInterface && opInterface.namespace) {
90
- const armProviderNamespace = getArmProviderNamespace(program, opInterface.namespace);
91
- if (armProviderNamespace) {
92
- // Set the namespace constant on the 'provider' parameter
93
- const providerParam = operation.parameters.properties.get("provider");
94
- if (providerParam) {
95
- if (providerParam.type.kind !== "String") {
96
- reportDiagnostic(program, {
97
- code: "decorator-param-wrong-type",
98
- messageId: "armUpdateProviderNamespace",
99
- target: providerParam,
100
- });
101
- return;
102
- }
103
- providerParam.type.value = armProviderNamespace;
104
- }
105
- }
106
- }
107
- }
108
- /**
109
- * Check if an interface is extending the Azure.ResourceManager.Operations interface.
110
- */
111
- export function isArmOperationsListInterface(program, type) {
112
- if (type.name !== "Operations") {
113
- return false;
114
- }
115
- const listOperation = type.operations.get("list");
116
- if (listOperation) {
117
- if (getSegment(program, listOperation) === "operations") {
118
- return true;
119
- }
120
- }
121
- return false;
122
- }
123
- //# sourceMappingURL=internal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/internal.ts"],"names":[],"mappings":"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"}
@@ -1,37 +0,0 @@
1
- namespace Azure.ResourceManager.Foundations;
2
-
3
- using TypeSpec.Reflection;
4
-
5
- /**
6
- * Update the ARM provider namespace for a given entity.
7
- */
8
- extern dec armUpdateProviderNamespace(target: Reflection.Operation);
9
-
10
- /**
11
- * @param resource Resource model
12
- */
13
- extern dec assignProviderNameValue(target: ModelProperty, resource: Model);
14
-
15
- /**
16
- * @param definitionName Definition name
17
- * @param version Arm Version
18
- * @param referenceFile Reference file
19
- */
20
- extern dec armCommonDefinition(
21
- target: Model,
22
- definitionName?: string,
23
- version?: string,
24
- referenceFile?: string
25
- );
26
-
27
- /**
28
- * @param definitionName Definition name
29
- * @param version Arm Version
30
- * @param referenceFile Reference file
31
- */
32
- extern dec armCommonParameter(
33
- target: ModelProperty,
34
- definitionName?: string,
35
- version?: string,
36
- referenceFile?: string
37
- );