@azure-tools/typespec-azure-resource-manager 0.70.0-dev.0 → 0.70.0-dev.10
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 +150 -10
- package/dist/generated-defs/Azure.ResourceManager.BaseTypes.d.ts +35 -0
- package/dist/generated-defs/Azure.ResourceManager.BaseTypes.d.ts.map +1 -0
- package/dist/generated-defs/Azure.ResourceManager.BaseTypes.js +2 -0
- package/dist/generated-defs/Azure.ResourceManager.BaseTypes.js.map +1 -0
- package/dist/generated-defs/Azure.ResourceManager.BaseTypes.ts-test.d.ts +2 -0
- package/dist/generated-defs/Azure.ResourceManager.BaseTypes.ts-test.d.ts.map +1 -0
- package/dist/generated-defs/Azure.ResourceManager.BaseTypes.ts-test.js +8 -0
- package/dist/generated-defs/Azure.ResourceManager.BaseTypes.ts-test.js.map +1 -0
- package/dist/generated-defs/Azure.ResourceManager.Private.d.ts +12 -0
- package/dist/generated-defs/Azure.ResourceManager.Private.d.ts.map +1 -1
- package/dist/generated-defs/Azure.ResourceManager.d.ts +66 -25
- package/dist/generated-defs/Azure.ResourceManager.d.ts.map +1 -1
- package/dist/src/base-types.d.ts +16 -0
- package/dist/src/base-types.d.ts.map +1 -0
- package/dist/src/base-types.js +30 -0
- package/dist/src/base-types.js.map +1 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- 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/linter.d.ts.map +1 -1
- package/dist/src/linter.js +8 -0
- package/dist/src/linter.js.map +1 -1
- package/dist/src/private.decorators.d.ts.map +1 -1
- package/dist/src/private.decorators.js +20 -2
- package/dist/src/private.decorators.js.map +1 -1
- package/dist/src/resource.d.ts +6 -2
- package/dist/src/resource.d.ts.map +1 -1
- package/dist/src/resource.js +8 -0
- package/dist/src/resource.js.map +1 -1
- package/dist/src/rules/arm-agent-base-type-child-resources.d.ts +4 -0
- package/dist/src/rules/arm-agent-base-type-child-resources.d.ts.map +1 -0
- package/dist/src/rules/arm-agent-base-type-child-resources.js +94 -0
- package/dist/src/rules/arm-agent-base-type-child-resources.js.map +1 -0
- package/dist/src/rules/arm-agent-base-type-lifecycle-operations.d.ts +4 -0
- package/dist/src/rules/arm-agent-base-type-lifecycle-operations.d.ts.map +1 -0
- package/dist/src/rules/arm-agent-base-type-lifecycle-operations.js +99 -0
- package/dist/src/rules/arm-agent-base-type-lifecycle-operations.js.map +1 -0
- package/dist/src/rules/arm-custom-resource-usage-discourage.d.ts.map +1 -1
- package/dist/src/rules/arm-custom-resource-usage-discourage.js +44 -2
- package/dist/src/rules/arm-custom-resource-usage-discourage.js.map +1 -1
- package/dist/src/rules/arm-feature-file-usage-discourage.d.ts +4 -0
- package/dist/src/rules/arm-feature-file-usage-discourage.d.ts.map +1 -0
- package/dist/src/rules/arm-feature-file-usage-discourage.js +24 -0
- package/dist/src/rules/arm-feature-file-usage-discourage.js.map +1 -0
- package/dist/src/rules/no-reserved-resource-property.d.ts +4 -0
- package/dist/src/rules/no-reserved-resource-property.d.ts.map +1 -0
- package/dist/src/rules/no-reserved-resource-property.js +50 -0
- package/dist/src/rules/no-reserved-resource-property.js.map +1 -0
- package/dist/src/state.d.ts +2 -0
- package/dist/src/state.d.ts.map +1 -1
- package/dist/src/state.js +3 -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 +8 -1
- package/dist/src/tsp-index.js.map +1 -1
- package/lib/arm.tsp +2 -0
- package/lib/base-types/agent.tsp +425 -0
- package/lib/base-types/base-types.tsp +45 -0
- package/lib/common-types/common-types.tsp +1 -1
- package/lib/common-types/nsp-operations.tsp +5 -5
- package/lib/common-types/types.tsp +2 -3
- package/lib/decorators.tsp +81 -11
- package/lib/extension/operations.tsp +8 -6
- package/lib/foundations/arm.foundations.tsp +22 -11
- package/lib/interfaces.tsp +24 -14
- package/lib/legacy-types/extension.tsp +1 -1
- package/lib/legacy-types/operations.tsp +9 -5
- package/lib/legacy-types/private-endpoints.tsp +4 -4
- package/lib/models.tsp +1 -1
- package/lib/operations.tsp +31 -19
- package/lib/parameters.tsp +3 -3
- package/lib/private-endpoints.tsp +9 -9
- package/lib/private-links.tsp +3 -3
- package/lib/private.decorators.tsp +16 -0
- package/lib/responses.tsp +17 -12
- package/package.json +4 -4
- package/lib/common-types/customer-managed-keys-ref.tsp +0 -43
package/README.md
CHANGED
|
@@ -28,6 +28,8 @@ Available ruleSets:
|
|
|
28
28
|
|
|
29
29
|
| Name | Description |
|
|
30
30
|
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
31
|
+
| [`@azure-tools/typespec-azure-resource-manager/arm-agent-base-type-child-resources`](https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/rules/arm-agent-base-type-child-resources) | Resources decorated with @azureBaseType for the Agent base type must have both a Conversation and a Response child resource. |
|
|
32
|
+
| [`@azure-tools/typespec-azure-resource-manager/arm-agent-base-type-lifecycle-operations`](https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/rules/arm-agent-base-type-lifecycle-operations) | Conversation and Response child resources of an Agent must define create, read, update, and delete lifecycle operations. |
|
|
31
33
|
| [`@azure-tools/typespec-azure-resource-manager/arm-no-record`](https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/rules/arm-no-record) | Don't use Record types for ARM resources. |
|
|
32
34
|
| [`@azure-tools/typespec-azure-resource-manager/arm-no-path-casing-conflicts`](https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/rules/arm-no-path-casing-conflicts) | Operation paths must be unique when compared case-insensitively. |
|
|
33
35
|
| [`@azure-tools/typespec-azure-resource-manager/no-override-props`](https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/rules/no-override-props) | Disallow redefining properties already defined in a base type. |
|
|
@@ -47,6 +49,7 @@ Available ruleSets:
|
|
|
47
49
|
| [`@azure-tools/typespec-azure-resource-manager/version-progression`](https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/rules/version-progression) | Validate that ARM service versions all use unique dates and are declared in strictly increasing chronological order. |
|
|
48
50
|
| [`@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key`](https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/rules/arm-custom-resource-no-key) | Validate that custom resource contains a key property. |
|
|
49
51
|
| [`@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage`](https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/rules/arm-custom-resource-usage-discourage) | Verify the usage of @customAzureResource decorator. |
|
|
52
|
+
| [`@azure-tools/typespec-azure-resource-manager/arm-feature-file-usage-discourage`](https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/rules/arm-feature-file-usage-discourage) | Verify the usage of @featureFiles decorator. |
|
|
50
53
|
| [`@azure-tools/typespec-azure-resource-manager/beyond-nesting-levels`](https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/rules/beyond-nesting-levels) | Tracked Resources must use 3 or fewer levels of nesting. |
|
|
51
54
|
| [`@azure-tools/typespec-azure-resource-manager/arm-resource-operation`](https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/rules/arm-resource-operation) | Validate ARM Resource operations. |
|
|
52
55
|
| [`@azure-tools/typespec-azure-resource-manager/no-resource-delete-operation`](https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/rules/no-resource-delete-operation) | Check for resources that must have a delete operation. |
|
|
@@ -65,6 +68,7 @@ Available ruleSets:
|
|
|
65
68
|
| [`@azure-tools/typespec-azure-resource-manager/unsupported-type`](https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/rules/unsupported-type) | Check for unsupported ARM types. |
|
|
66
69
|
| [`@azure-tools/typespec-azure-resource-manager/secret-prop`](https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/rules/secret-prop) | RPC-v1-13: Check that property with names indicating sensitive information(e.g. contains auth, password, token, secret, etc.) are marked with @secret decorator. |
|
|
67
70
|
| [`@azure-tools/typespec-azure-resource-manager/no-empty-model`](https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/rules/no-empty-model) | ARM Properties with type:object that don't reference a model definition are not allowed. ARM doesn't allow generic type definitions as this leads to bad customer experience. |
|
|
71
|
+
| [`@azure-tools/typespec-azure-resource-manager/no-reserved-resource-property`](https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/rules/no-reserved-resource-property) | Reserved property names (for example 'billingData') must not be present in a resource's property bag. The property name is matched case-insensitively. |
|
|
68
72
|
|
|
69
73
|
## Decorators
|
|
70
74
|
|
|
@@ -85,6 +89,9 @@ Available ruleSets:
|
|
|
85
89
|
- [`@armResourceUpdate`](#@armresourceupdate)
|
|
86
90
|
- [`@armVirtualResource`](#@armvirtualresource)
|
|
87
91
|
- [`@extensionResource`](#@extensionresource)
|
|
92
|
+
- [`@featureFile`](#@featurefile)
|
|
93
|
+
- [`@featureFileOptions`](#@featurefileoptions)
|
|
94
|
+
- [`@featureFiles`](#@featurefiles)
|
|
88
95
|
- [`@identifiers`](#@identifiers)
|
|
89
96
|
- [`@locationResource`](#@locationresource)
|
|
90
97
|
- [`@resourceBaseType`](#@resourcebasetype)
|
|
@@ -115,7 +122,9 @@ the version of the Azure Resource Manager common-types to use for refs in emitte
|
|
|
115
122
|
|
|
116
123
|
#### `@armLibraryNamespace`
|
|
117
124
|
|
|
118
|
-
`@armLibraryNamespace` designates a namespace as
|
|
125
|
+
`@armLibraryNamespace` designates a namespace as containing Azure Resource Manager Provider information.
|
|
126
|
+
This is used for library namespaces that define reusable ARM resource types that can be shared
|
|
127
|
+
across multiple provider specifications.
|
|
119
128
|
|
|
120
129
|
```typespec
|
|
121
130
|
@Azure.ResourceManager.armLibraryNamespace
|
|
@@ -169,8 +178,9 @@ namespace Microsoft.ContosoService;
|
|
|
169
178
|
|
|
170
179
|
#### `@armProviderNameValue`
|
|
171
180
|
|
|
172
|
-
`@
|
|
173
|
-
|
|
181
|
+
`@armProviderNameValue` sets the provider namespace value on operations.
|
|
182
|
+
It is used internally to inject the correct provider namespace path segment
|
|
183
|
+
for resource operations in auto-generated routes.
|
|
174
184
|
|
|
175
185
|
```typespec
|
|
176
186
|
@Azure.ResourceManager.armProviderNameValue
|
|
@@ -186,6 +196,11 @@ None
|
|
|
186
196
|
|
|
187
197
|
#### `@armResourceAction`
|
|
188
198
|
|
|
199
|
+
Marks the operation as a custom action on a specific Azure Resource Manager resource type.
|
|
200
|
+
This decorator associates a POST action operation with its resource,
|
|
201
|
+
identifying the semantics of the operation as a resource action over a specific resource for documentation,
|
|
202
|
+
resource validation, and use by downstream emitters.
|
|
203
|
+
|
|
189
204
|
```typespec
|
|
190
205
|
@Azure.ResourceManager.armResourceAction(resourceModel: Model, resourceName?: valueof string)
|
|
191
206
|
```
|
|
@@ -222,7 +237,9 @@ Marks the operation as being a check existence (HEAD) operation
|
|
|
222
237
|
|
|
223
238
|
#### `@armResourceCollectionAction`
|
|
224
239
|
|
|
225
|
-
Marks the operation as being a collection action
|
|
240
|
+
Marks the operation as being a collection action that is not associated with a specific resource instance.
|
|
241
|
+
Collection actions are operations that act on a resource collection rather than a single resource,
|
|
242
|
+
such as `checkNameAvailability` or provider-level actions.
|
|
226
243
|
|
|
227
244
|
```typespec
|
|
228
245
|
@Azure.ResourceManager.armResourceCollectionAction
|
|
@@ -238,6 +255,10 @@ None
|
|
|
238
255
|
|
|
239
256
|
#### `@armResourceCreateOrUpdate`
|
|
240
257
|
|
|
258
|
+
Marks the operation as a create or update (PUT) operation for a specific Azure Resource Manager resource type.
|
|
259
|
+
This decorator identifies the semantics of the operation as a CreateOrReplace lifecycle operation over a particular resource,
|
|
260
|
+
for use in documentation, resource validation, and downstream emitters.
|
|
261
|
+
|
|
241
262
|
```typespec
|
|
242
263
|
@Azure.ResourceManager.armResourceCreateOrUpdate(resourceModel: Model, resourceName?: valueof string)
|
|
243
264
|
```
|
|
@@ -255,6 +276,10 @@ None
|
|
|
255
276
|
|
|
256
277
|
#### `@armResourceDelete`
|
|
257
278
|
|
|
279
|
+
Marks the operation as a delete (DELETE) operation for a specific Azure Resource Manager resource type.
|
|
280
|
+
This decorator identifies the operation as a Delete lifecycle operation over the resource for us in documentation,
|
|
281
|
+
resource validation, and downstream emitters.
|
|
282
|
+
|
|
258
283
|
```typespec
|
|
259
284
|
@Azure.ResourceManager.armResourceDelete(resourceModel: Model, resourceName?: valueof string)
|
|
260
285
|
```
|
|
@@ -272,6 +297,10 @@ None
|
|
|
272
297
|
|
|
273
298
|
#### `@armResourceList`
|
|
274
299
|
|
|
300
|
+
Marks the operation as a list (GET collection) operation for a specific Azure Resource Manager resource type.
|
|
301
|
+
This decorator identifies the semantics of the operation as a collection list operation over a resource type and a particular scope for documentation,
|
|
302
|
+
resource validation, and downstream emitters.
|
|
303
|
+
|
|
275
304
|
```typespec
|
|
276
305
|
@Azure.ResourceManager.armResourceList(resourceModel: Model, resourceName?: valueof string)
|
|
277
306
|
```
|
|
@@ -323,6 +352,10 @@ individually tagged
|
|
|
323
352
|
|
|
324
353
|
#### `@armResourceRead`
|
|
325
354
|
|
|
355
|
+
Marks the operation as a read (GET) operation for a specific Azure Resource Manager resource type.
|
|
356
|
+
This decorator identifies the semantics of the operation as a Read lifecycle operation over a particular resource,
|
|
357
|
+
for use in documentation, resource validation, and downstream emitters.
|
|
358
|
+
|
|
326
359
|
```typespec
|
|
327
360
|
@Azure.ResourceManager.armResourceRead(resourceModel: Model, resourceName?: valueof string)
|
|
328
361
|
```
|
|
@@ -340,6 +373,10 @@ individually tagged
|
|
|
340
373
|
|
|
341
374
|
#### `@armResourceUpdate`
|
|
342
375
|
|
|
376
|
+
Marks the operation as an update (PATCH) operation for a specific Azure Resource Manager resource type.
|
|
377
|
+
This decorator identifies the operation as an Update lifecycle operation over the resource for use in documentation,
|
|
378
|
+
resource validation, and downstream emitters.
|
|
379
|
+
|
|
343
380
|
```typespec
|
|
344
381
|
@Azure.ResourceManager.armResourceUpdate(resourceModel: Model, resourceName?: valueof string)
|
|
345
382
|
```
|
|
@@ -358,7 +395,8 @@ individually tagged
|
|
|
358
395
|
#### `@armVirtualResource`
|
|
359
396
|
|
|
360
397
|
This decorator is used on Azure Resource Manager resources that are not based on
|
|
361
|
-
Azure.ResourceManager common types.
|
|
398
|
+
Azure.ResourceManager common types. It marks a model as an ARM virtual resource,
|
|
399
|
+
which is useful for defining the scope of resources used only as parents for child resources, or scopes for extension resources.
|
|
362
400
|
|
|
363
401
|
```typespec
|
|
364
402
|
@Azure.ResourceManager.armVirtualResource(provider?: valueof string)
|
|
@@ -396,6 +434,63 @@ See more details on [different Azure Resource Manager resource type here.](https
|
|
|
396
434
|
|
|
397
435
|
None
|
|
398
436
|
|
|
437
|
+
#### `@featureFile`
|
|
438
|
+
|
|
439
|
+
Decorator to associate a feature file with a model, interface, or namespace
|
|
440
|
+
|
|
441
|
+
```typespec
|
|
442
|
+
@Azure.ResourceManager.featureFile(featureName: EnumMember)
|
|
443
|
+
```
|
|
444
|
+
|
|
445
|
+
##### Target
|
|
446
|
+
|
|
447
|
+
The target to associate the feature file with
|
|
448
|
+
`Model | Operation | Interface | Namespace`
|
|
449
|
+
|
|
450
|
+
##### Parameters
|
|
451
|
+
|
|
452
|
+
| Name | Type | Description |
|
|
453
|
+
| ----------- | ------------ | ---------------------------------------- |
|
|
454
|
+
| featureName | `EnumMember` | The feature to associate with the target |
|
|
455
|
+
|
|
456
|
+
#### `@featureFileOptions`
|
|
457
|
+
|
|
458
|
+
Decorator to define options for a specific feature file
|
|
459
|
+
|
|
460
|
+
```typespec
|
|
461
|
+
@Azure.ResourceManager.featureFileOptions(options: valueof Azure.ResourceManager.ArmFeatureFileOptions)
|
|
462
|
+
```
|
|
463
|
+
|
|
464
|
+
##### Target
|
|
465
|
+
|
|
466
|
+
The enum member that represents the feature
|
|
467
|
+
`EnumMember`
|
|
468
|
+
|
|
469
|
+
##### Parameters
|
|
470
|
+
|
|
471
|
+
| Name | Type | Description |
|
|
472
|
+
| ------- | --------------------------------------------------------- | -------------------------------- |
|
|
473
|
+
| options | [valueof `ArmFeatureFileOptions`](#armfeaturefileoptions) | The options for the feature file |
|
|
474
|
+
|
|
475
|
+
#### `@featureFiles`
|
|
476
|
+
|
|
477
|
+
Decorator to define a set of feature files for splitting output
|
|
478
|
+
|
|
479
|
+
```typespec
|
|
480
|
+
@Azure.ResourceManager.featureFiles(features: Enum)
|
|
481
|
+
```
|
|
482
|
+
|
|
483
|
+
##### Target
|
|
484
|
+
|
|
485
|
+
The service namespace
|
|
486
|
+
`Namespace`
|
|
487
|
+
|
|
488
|
+
##### Parameters
|
|
489
|
+
|
|
490
|
+
| Name | Type | Description |
|
|
491
|
+
| -------- | ------ | ----------------------------------- |
|
|
492
|
+
| features | `Enum` | The enum that contains the features |
|
|
493
|
+
|
|
399
494
|
#### `@identifiers`
|
|
400
495
|
|
|
401
496
|
This decorator is used to indicate the identifying properties of objects in the array, e.g. size
|
|
@@ -448,10 +543,11 @@ None
|
|
|
448
543
|
|
|
449
544
|
#### `@resourceBaseType`
|
|
450
545
|
|
|
451
|
-
This decorator sets the base type of the given resource
|
|
546
|
+
This decorator sets the base type of the given resource, indicating where in the
|
|
547
|
+
Azure Resource Manager hierarchy the resource is located.
|
|
452
548
|
|
|
453
549
|
```typespec
|
|
454
|
-
@Azure.ResourceManager.resourceBaseType(
|
|
550
|
+
@Azure.ResourceManager.resourceBaseType(baseType: "Tenant" | "Subscription" | "ResourceGroup" | "Location" | "Extension")
|
|
455
551
|
```
|
|
456
552
|
|
|
457
553
|
##### Target
|
|
@@ -460,9 +556,9 @@ This decorator sets the base type of the given resource.
|
|
|
460
556
|
|
|
461
557
|
##### Parameters
|
|
462
558
|
|
|
463
|
-
| Name
|
|
464
|
-
|
|
|
465
|
-
|
|
|
559
|
+
| Name | Type | Description |
|
|
560
|
+
| -------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
|
|
561
|
+
| baseType | `"Tenant" \| "Subscription" \| "ResourceGroup" \| "Location" \| "Extension"` | The built-in parent of the resource, this can be "Tenant", "Subscription", "ResourceGroup", "Location", or "Extension" |
|
|
466
562
|
|
|
467
563
|
#### `@resourceGroupResource`
|
|
468
564
|
|
|
@@ -570,6 +666,50 @@ This allows sharing Azure Resource Manager resource types across specifications
|
|
|
570
666
|
| ---------- | ------------- | ------------------------------------------------------------------------ |
|
|
571
667
|
| namespaces | `Namespace[]` | The namespaces of Azure Resource Manager libraries used in this provider |
|
|
572
668
|
|
|
669
|
+
### Azure.ResourceManager.BaseTypes
|
|
670
|
+
|
|
671
|
+
- [`@azureBaseType`](#@azurebasetype)
|
|
672
|
+
|
|
673
|
+
#### `@azureBaseType`
|
|
674
|
+
|
|
675
|
+
`@azureBaseType` marks an Azure Resource Manager resource properties model as implementing
|
|
676
|
+
a base type. Base types define structured constraints including required and
|
|
677
|
+
optional properties that conforming resources must implement.
|
|
678
|
+
|
|
679
|
+
This decorator may be applied multiple times to indicate conformance to
|
|
680
|
+
multiple base types. Duplicate entries are ignored.
|
|
681
|
+
|
|
682
|
+
```typespec
|
|
683
|
+
@Azure.ResourceManager.BaseTypes.azureBaseType(baseType: valueof Azure.ResourceManager.BaseTypes.BaseTypeInfo)
|
|
684
|
+
```
|
|
685
|
+
|
|
686
|
+
##### Target
|
|
687
|
+
|
|
688
|
+
`Model`
|
|
689
|
+
|
|
690
|
+
##### Parameters
|
|
691
|
+
|
|
692
|
+
| Name | Type | Description |
|
|
693
|
+
| -------- | --------------------------------------- | ----------------------------------------------------- |
|
|
694
|
+
| baseType | [valueof `BaseTypeInfo`](#basetypeinfo) | The base type specification this resource implements. |
|
|
695
|
+
|
|
696
|
+
##### Examples
|
|
697
|
+
|
|
698
|
+
```typespec
|
|
699
|
+
// Agent definition and properties using the Appliance deployment model
|
|
700
|
+
model ContosoApplianceDefinition is AgentDefinitionAppliance<true, true>;
|
|
701
|
+
model ContosoApplianceProperties is AgentPropertiesAppliance<ContosoApplianceDefinition> {
|
|
702
|
+
...DefaultProvisioningStateProperty;
|
|
703
|
+
}
|
|
704
|
+
|
|
705
|
+
// The @azureBaseType decorator marks the resource as conforming to the Agent base type.
|
|
706
|
+
// (The Agent template applies this automatically, but it can also be applied directly.)
|
|
707
|
+
@azureBaseType(#{ baseType: "Agent", version: "2024-06-01" })
|
|
708
|
+
model ContosoApplianceAgent is TrackedResource<ContosoApplianceProperties> {
|
|
709
|
+
...ResourceNameParameter<ContosoApplianceAgent>;
|
|
710
|
+
}
|
|
711
|
+
```
|
|
712
|
+
|
|
573
713
|
### Azure.ResourceManager.Legacy
|
|
574
714
|
|
|
575
715
|
- [`@armExternalType`](#@armexternaltype)
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { DecoratorContext, DecoratorValidatorCallbacks, Model } from "@typespec/compiler";
|
|
2
|
+
export interface BaseTypeInfo {
|
|
3
|
+
readonly baseType: string;
|
|
4
|
+
readonly version: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* `@azureBaseType` marks an Azure Resource Manager resource properties model as implementing
|
|
8
|
+
* a base type. Base types define structured constraints including required and
|
|
9
|
+
* optional properties that conforming resources must implement.
|
|
10
|
+
*
|
|
11
|
+
* This decorator may be applied multiple times to indicate conformance to
|
|
12
|
+
* multiple base types. Duplicate entries are ignored.
|
|
13
|
+
*
|
|
14
|
+
* @param baseType The base type specification this resource implements.
|
|
15
|
+
* @example
|
|
16
|
+
* ```typespec
|
|
17
|
+
* // Agent definition and properties using the Appliance deployment model
|
|
18
|
+
* model ContosoApplianceDefinition is AgentDefinitionAppliance<true, true>;
|
|
19
|
+
* model ContosoApplianceProperties is AgentPropertiesAppliance<ContosoApplianceDefinition> {
|
|
20
|
+
* ...DefaultProvisioningStateProperty;
|
|
21
|
+
* }
|
|
22
|
+
*
|
|
23
|
+
* // The @azureBaseType decorator marks the resource as conforming to the Agent base type.
|
|
24
|
+
* // (The Agent template applies this automatically, but it can also be applied directly.)
|
|
25
|
+
* @azureBaseType(#{ baseType: "Agent", version: "2024-06-01" })
|
|
26
|
+
* model ContosoApplianceAgent is TrackedResource<ContosoApplianceProperties> {
|
|
27
|
+
* ...ResourceNameParameter<ContosoApplianceAgent>;
|
|
28
|
+
* }
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export type AzureBaseTypeDecorator = (context: DecoratorContext, target: Model, baseType: BaseTypeInfo) => DecoratorValidatorCallbacks | void;
|
|
32
|
+
export type AzureResourceManagerBaseTypesDecorators = {
|
|
33
|
+
azureBaseType: AzureBaseTypeDecorator;
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=Azure.ResourceManager.BaseTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Azure.ResourceManager.BaseTypes.d.ts","sourceRoot":"","sources":["../../generated-defs/Azure.ResourceManager.BaseTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE/F,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,MAAM,sBAAsB,GAAG,CACnC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EACb,QAAQ,EAAE,YAAY,KACnB,2BAA2B,GAAG,IAAI,CAAC;AAExC,MAAM,MAAM,uCAAuC,GAAG;IACpD,aAAa,EAAE,sBAAsB,CAAC;CACvC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Azure.ResourceManager.BaseTypes.js","sourceRoot":"","sources":["../../generated-defs/Azure.ResourceManager.BaseTypes.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Azure.ResourceManager.BaseTypes.ts-test.d.ts","sourceRoot":"","sources":["../../generated-defs/Azure.ResourceManager.BaseTypes.ts-test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// An error in the imports would mean that the decorator is not exported or
|
|
2
|
+
// doesn't have the right name.
|
|
3
|
+
import { $decorators } from "@azure-tools/typespec-azure-resource-manager";
|
|
4
|
+
/**
|
|
5
|
+
* An error here would mean that the exported decorator is not using the same signature. Make sure to have export const $decName: DecNameDecorator = (...) => ...
|
|
6
|
+
*/
|
|
7
|
+
const _decs = $decorators["Azure.ResourceManager.BaseTypes"];
|
|
8
|
+
//# sourceMappingURL=Azure.ResourceManager.BaseTypes.ts-test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Azure.ResourceManager.BaseTypes.ts-test.js","sourceRoot":"","sources":["../../generated-defs/Azure.ResourceManager.BaseTypes.ts-test.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,+BAA+B;AAE/B,OAAO,EAAE,WAAW,EAAE,MAAM,8CAA8C,CAAC;AAG3E;;GAEG;AACH,MAAM,KAAK,GACT,WAAW,CAAC,iCAAiC,CAAC,CAAC"}
|
|
@@ -95,6 +95,17 @@ export type ArmResourcePropertiesOptionalityDecorator = (context: DecoratorConte
|
|
|
95
95
|
* designates a parameter as an explicit bodyRoot and sets the optionality of the parameter
|
|
96
96
|
*/
|
|
97
97
|
export type ArmBodyRootDecorator = (context: DecoratorContext, target: ModelProperty, isOptional: boolean) => DecoratorValidatorCallbacks | void;
|
|
98
|
+
/**
|
|
99
|
+
* Controls visibility of a base type property based on whether the property is present
|
|
100
|
+
* and whether the deployment model is Appliance or Platform.
|
|
101
|
+
*
|
|
102
|
+
* If `isPresent` is false, the property is made invisible (removed from all lifecycle visibility).
|
|
103
|
+
* If `isAppliance` is true, the property is made read-only.
|
|
104
|
+
*
|
|
105
|
+
* @param isPresent Whether this property is present in the current template instantiation.
|
|
106
|
+
* @param isAppliance Whether the current deployment model is Appliance (true) or Platform (false).
|
|
107
|
+
*/
|
|
108
|
+
export type BaseTypeOptionalDecorator = (context: DecoratorContext, target: ModelProperty, isPresent: boolean, isAppliance: boolean) => DecoratorValidatorCallbacks | void;
|
|
98
109
|
/**
|
|
99
110
|
* designates a type as a legacy type and emits a warning diagnostic when used
|
|
100
111
|
*/
|
|
@@ -177,6 +188,7 @@ export type AzureResourceManagerPrivateDecorators = {
|
|
|
177
188
|
armRenameListByOperation: ArmRenameListByOperationDecorator;
|
|
178
189
|
armResourcePropertiesOptionality: ArmResourcePropertiesOptionalityDecorator;
|
|
179
190
|
armBodyRoot: ArmBodyRootDecorator;
|
|
191
|
+
baseTypeOptional: BaseTypeOptionalDecorator;
|
|
180
192
|
legacyType: LegacyTypeDecorator;
|
|
181
193
|
resourceParentType: ResourceParentTypeDecorator;
|
|
182
194
|
legacyResourceOperation: LegacyResourceOperationDecorator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Azure.ResourceManager.Private.d.ts","sourceRoot":"","sources":["../../generated-defs/Azure.ResourceManager.Private.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Azure.ResourceManager.Private.d.ts","sourceRoot":"","sources":["../../generated-defs/Azure.ResourceManager.Private.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,26 @@
|
|
|
1
|
-
import type { DecoratorContext, DecoratorValidatorCallbacks, EnumMember, EnumValue, Interface, Model, ModelProperty, Namespace, Operation, Type } from "@typespec/compiler";
|
|
1
|
+
import type { DecoratorContext, DecoratorValidatorCallbacks, Enum, EnumMember, EnumValue, Interface, Model, ModelProperty, Namespace, Operation, Type } from "@typespec/compiler";
|
|
2
2
|
export interface ResourceOperationOptions {
|
|
3
3
|
readonly resourceType?: Record<string, unknown>;
|
|
4
4
|
readonly allowStaticRoutes?: boolean;
|
|
5
5
|
readonly omitTags?: boolean;
|
|
6
6
|
}
|
|
7
|
+
export interface ArmFeatureFileOptions {
|
|
8
|
+
readonly featureName: string;
|
|
9
|
+
readonly fileName: string;
|
|
10
|
+
readonly description: string;
|
|
11
|
+
readonly title?: string;
|
|
12
|
+
readonly termsOfService?: string;
|
|
13
|
+
}
|
|
7
14
|
/**
|
|
8
|
-
* Marks the operation as being a collection action
|
|
15
|
+
* Marks the operation as being a collection action that is not associated with a specific resource instance.
|
|
16
|
+
* Collection actions are operations that act on a resource collection rather than a single resource,
|
|
17
|
+
* such as `checkNameAvailability` or provider-level actions.
|
|
9
18
|
*/
|
|
10
19
|
export type ArmResourceCollectionActionDecorator = (context: DecoratorContext, target: Operation) => DecoratorValidatorCallbacks | void;
|
|
11
20
|
/**
|
|
12
|
-
* `@
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* @param resource The resource to get the type of
|
|
21
|
+
* `@armProviderNameValue` sets the provider namespace value on operations.
|
|
22
|
+
* It is used internally to inject the correct provider namespace path segment
|
|
23
|
+
* for resource operations in auto-generated routes.
|
|
16
24
|
*/
|
|
17
25
|
export type ArmProviderNameValueDecorator = (context: DecoratorContext, target: Operation) => DecoratorValidatorCallbacks | void;
|
|
18
26
|
/**
|
|
@@ -44,7 +52,6 @@ export type IdentifiersDecorator = (context: DecoratorContext, entity: ModelProp
|
|
|
44
52
|
* namespace Microsoft.ContosoService;
|
|
45
53
|
* ```
|
|
46
54
|
* @param providerNamespace Provider namespace
|
|
47
|
-
* @param libraryNamespaces a library namespace containing types for this namespace
|
|
48
55
|
*/
|
|
49
56
|
export type ArmProviderNamespaceDecorator = (context: DecoratorContext, target: Namespace, providerNamespace?: string) => DecoratorValidatorCallbacks | void;
|
|
50
57
|
/**
|
|
@@ -55,7 +62,9 @@ export type ArmProviderNamespaceDecorator = (context: DecoratorContext, target:
|
|
|
55
62
|
*/
|
|
56
63
|
export type UseLibraryNamespaceDecorator = (context: DecoratorContext, target: Namespace, ...namespaces: Namespace[]) => DecoratorValidatorCallbacks | void;
|
|
57
64
|
/**
|
|
58
|
-
* `@armLibraryNamespace` designates a namespace as
|
|
65
|
+
* `@armLibraryNamespace` designates a namespace as containing Azure Resource Manager Provider information.
|
|
66
|
+
* This is used for library namespaces that define reusable ARM resource types that can be shared
|
|
67
|
+
* across multiple provider specifications.
|
|
59
68
|
*
|
|
60
69
|
* @example
|
|
61
70
|
* ```typespec
|
|
@@ -124,48 +133,55 @@ export type ResourceGroupResourceDecorator = (context: DecoratorContext, target:
|
|
|
124
133
|
*/
|
|
125
134
|
export type ExtensionResourceDecorator = (context: DecoratorContext, target: Model) => DecoratorValidatorCallbacks | void;
|
|
126
135
|
/**
|
|
127
|
-
*
|
|
128
|
-
*
|
|
136
|
+
* Marks the operation as a custom action on a specific Azure Resource Manager resource type.
|
|
137
|
+
* This decorator associates a POST action operation with its resource,
|
|
138
|
+
* identifying the semantics of the operation as a resource action over a specific resource for documentation,
|
|
139
|
+
* resource validation, and use by downstream emitters.
|
|
129
140
|
*
|
|
130
141
|
* @param resourceModel Resource model
|
|
131
142
|
* @param resourceName Optional. The name of the resource. If not provided, the name of the resource model will be used.
|
|
132
143
|
*/
|
|
133
144
|
export type ArmResourceActionDecorator = (context: DecoratorContext, target: Operation, resourceModel: Model, resourceName?: string) => DecoratorValidatorCallbacks | void;
|
|
134
145
|
/**
|
|
135
|
-
*
|
|
136
|
-
*
|
|
146
|
+
* Marks the operation as a create or update (PUT) operation for a specific Azure Resource Manager resource type.
|
|
147
|
+
* This decorator identifies the semantics of the operation as a CreateOrReplace lifecycle operation over a particular resource,
|
|
148
|
+
* for use in documentation, resource validation, and downstream emitters.
|
|
137
149
|
*
|
|
138
150
|
* @param resourceModel Resource model
|
|
139
151
|
* @param resourceName Optional. The name of the resource. If not provided, the name of the resource model will be used.
|
|
140
152
|
*/
|
|
141
153
|
export type ArmResourceCreateOrUpdateDecorator = (context: DecoratorContext, target: Operation, resourceModel: Model, resourceName?: string) => DecoratorValidatorCallbacks | void;
|
|
142
154
|
/**
|
|
143
|
-
*
|
|
144
|
-
*
|
|
155
|
+
* Marks the operation as a read (GET) operation for a specific Azure Resource Manager resource type.
|
|
156
|
+
* This decorator identifies the semantics of the operation as a Read lifecycle operation over a particular resource,
|
|
157
|
+
* for use in documentation, resource validation, and downstream emitters.
|
|
145
158
|
*
|
|
146
159
|
* @param resourceModel Resource model
|
|
147
160
|
* @param resourceName Optional. The name of the resource. If not provided, the name of the resource model will be used.
|
|
148
161
|
*/
|
|
149
162
|
export type ArmResourceReadDecorator = (context: DecoratorContext, target: Operation, resourceModel: Model, resourceName?: string) => DecoratorValidatorCallbacks | void;
|
|
150
163
|
/**
|
|
151
|
-
*
|
|
152
|
-
*
|
|
164
|
+
* Marks the operation as an update (PATCH) operation for a specific Azure Resource Manager resource type.
|
|
165
|
+
* This decorator identifies the operation as an Update lifecycle operation over the resource for use in documentation,
|
|
166
|
+
* resource validation, and downstream emitters.
|
|
153
167
|
*
|
|
154
168
|
* @param resourceModel Resource model
|
|
155
169
|
* @param resourceName Optional. The name of the resource. If not provided, the name of the resource model will be used.
|
|
156
170
|
*/
|
|
157
171
|
export type ArmResourceUpdateDecorator = (context: DecoratorContext, target: Operation, resourceModel: Model, resourceName?: string) => DecoratorValidatorCallbacks | void;
|
|
158
172
|
/**
|
|
159
|
-
*
|
|
160
|
-
*
|
|
173
|
+
* Marks the operation as a delete (DELETE) operation for a specific Azure Resource Manager resource type.
|
|
174
|
+
* This decorator identifies the operation as a Delete lifecycle operation over the resource for us in documentation,
|
|
175
|
+
* resource validation, and downstream emitters.
|
|
161
176
|
*
|
|
162
177
|
* @param resourceModel Resource model
|
|
163
178
|
* @param resourceName Optional. The name of the resource. If not provided, the name of the resource model will be used.
|
|
164
179
|
*/
|
|
165
180
|
export type ArmResourceDeleteDecorator = (context: DecoratorContext, target: Operation, resourceModel: Model, resourceName?: string) => DecoratorValidatorCallbacks | void;
|
|
166
181
|
/**
|
|
167
|
-
*
|
|
168
|
-
*
|
|
182
|
+
* Marks the operation as a list (GET collection) operation for a specific Azure Resource Manager resource type.
|
|
183
|
+
* This decorator identifies the semantics of the operation as a collection list operation over a resource type and a particular scope for documentation,
|
|
184
|
+
* resource validation, and downstream emitters.
|
|
169
185
|
*
|
|
170
186
|
* @param resourceModel Resource model
|
|
171
187
|
* @param resourceName Optional. The name of the resource. If not provided, the name of the resource model will be used.
|
|
@@ -209,18 +225,40 @@ export type ArmResourceOperationsDecorator = (context: DecoratorContext, target:
|
|
|
209
225
|
export type ArmCommonTypesVersionDecorator = (context: DecoratorContext, target: Namespace | EnumMember, version: string | EnumValue) => DecoratorValidatorCallbacks | void;
|
|
210
226
|
/**
|
|
211
227
|
* This decorator is used on Azure Resource Manager resources that are not based on
|
|
212
|
-
* Azure.ResourceManager common types.
|
|
228
|
+
* Azure.ResourceManager common types. It marks a model as an ARM virtual resource,
|
|
229
|
+
* which is useful for defining the scope of resources used only as parents for child resources, or scopes for extension resources.
|
|
213
230
|
*
|
|
214
|
-
* @param propertiesType : The type of the resource properties.
|
|
215
231
|
* @param provider Optional. The resource provider namespace for the virtual resource.
|
|
216
232
|
*/
|
|
217
233
|
export type ArmVirtualResourceDecorator = (context: DecoratorContext, target: Model, provider?: string) => DecoratorValidatorCallbacks | void;
|
|
218
234
|
/**
|
|
219
|
-
* This decorator sets the base type of the given resource
|
|
235
|
+
* This decorator sets the base type of the given resource, indicating where in the
|
|
236
|
+
* Azure Resource Manager hierarchy the resource is located.
|
|
237
|
+
*
|
|
238
|
+
* @param baseType The built-in parent of the resource, this can be "Tenant", "Subscription", "ResourceGroup", "Location", or "Extension"
|
|
239
|
+
*/
|
|
240
|
+
export type ResourceBaseTypeDecorator = (context: DecoratorContext, target: Model, baseType: Type) => DecoratorValidatorCallbacks | void;
|
|
241
|
+
/**
|
|
242
|
+
* Decorator to define a set of feature files for splitting output
|
|
243
|
+
*
|
|
244
|
+
* @param target The service namespace
|
|
245
|
+
* @param features The enum that contains the features
|
|
246
|
+
*/
|
|
247
|
+
export type FeatureFilesDecorator = (context: DecoratorContext, target: Namespace, features: Enum) => DecoratorValidatorCallbacks | void;
|
|
248
|
+
/**
|
|
249
|
+
* Decorator to define options for a specific feature file
|
|
250
|
+
*
|
|
251
|
+
* @param target The enum member that represents the feature
|
|
252
|
+
* @param options The options for the feature file
|
|
253
|
+
*/
|
|
254
|
+
export type FeatureFileOptionsDecorator = (context: DecoratorContext, target: EnumMember, options: ArmFeatureFileOptions) => DecoratorValidatorCallbacks | void;
|
|
255
|
+
/**
|
|
256
|
+
* Decorator to associate a feature file with a model, interface, or namespace
|
|
220
257
|
*
|
|
221
|
-
* @param
|
|
258
|
+
* @param target The target to associate the feature file with
|
|
259
|
+
* @param featureName The feature to associate with the target
|
|
222
260
|
*/
|
|
223
|
-
export type
|
|
261
|
+
export type FeatureFileDecorator = (context: DecoratorContext, target: Model | Operation | Interface | Namespace, featureName: EnumMember) => DecoratorValidatorCallbacks | void;
|
|
224
262
|
export type AzureResourceManagerDecorators = {
|
|
225
263
|
armResourceCollectionAction: ArmResourceCollectionActionDecorator;
|
|
226
264
|
armProviderNameValue: ArmProviderNameValueDecorator;
|
|
@@ -245,5 +283,8 @@ export type AzureResourceManagerDecorators = {
|
|
|
245
283
|
armCommonTypesVersion: ArmCommonTypesVersionDecorator;
|
|
246
284
|
armVirtualResource: ArmVirtualResourceDecorator;
|
|
247
285
|
resourceBaseType: ResourceBaseTypeDecorator;
|
|
286
|
+
featureFiles: FeatureFilesDecorator;
|
|
287
|
+
featureFileOptions: FeatureFileOptionsDecorator;
|
|
288
|
+
featureFile: FeatureFileDecorator;
|
|
248
289
|
};
|
|
249
290
|
//# sourceMappingURL=Azure.ResourceManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Azure.ResourceManager.d.ts","sourceRoot":"","sources":["../../generated-defs/Azure.ResourceManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,2BAA2B,EAC3B,UAAU,EACV,SAAS,EACT,SAAS,EACT,KAAK,EACL,aAAa,EACb,SAAS,EACT,SAAS,EACT,IAAI,EACL,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED
|
|
1
|
+
{"version":3,"file":"Azure.ResourceManager.d.ts","sourceRoot":"","sources":["../../generated-defs/Azure.ResourceManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Model } from "@typespec/compiler";
|
|
2
|
+
import type { AzureBaseTypeDecorator } from "../generated-defs/Azure.ResourceManager.BaseTypes.js";
|
|
3
|
+
export interface AzureBaseTypeInfo {
|
|
4
|
+
/** The registered name of the base type */
|
|
5
|
+
baseType: string;
|
|
6
|
+
/** The version of the base type definition */
|
|
7
|
+
version: string;
|
|
8
|
+
}
|
|
9
|
+
export declare const getAzureBaseTypes: (program: import("@typespec/compiler").Program, type: Model) => AzureBaseTypeInfo[] | undefined, setAzureBaseTypes: (program: import("@typespec/compiler").Program, type: Model, value: AzureBaseTypeInfo[]) => void;
|
|
10
|
+
/**
|
|
11
|
+
* Implementation for the `@azureBaseType` decorator.
|
|
12
|
+
* Adds a single base type entry to the target model. Multiple applications
|
|
13
|
+
* accumulate entries; duplicates (same baseType + version) are ignored.
|
|
14
|
+
*/
|
|
15
|
+
export declare const $azureBaseType: AzureBaseTypeDecorator;
|
|
16
|
+
//# sourceMappingURL=base-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-types.d.ts","sourceRoot":"","sources":["../../src/base-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,EAGN,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AAInG,MAAM,WAAW,iBAAiB;IAChC,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAO,iBAAiB,mGAAE,iBAAiB,kGAEjD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,sBA2B5B,CAAC"}
|