@azure-tools/typespec-azure-core 0.28.1 → 0.29.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 CHANGED
@@ -114,13 +114,13 @@ This marks the `Contoso.WidgetManager` namespace as a service namespace in this
114
114
 
115
115
  ### Using the versioned Azure.Core types
116
116
 
117
- Before you can use the models and operations defined in the `Azure.Core` namespace, you will need to specify the API version of the `Azure.Core` library that your service uses. You can do this by adding the `@versionedDependency` decorator to the `Contoso.WidgetManager` namespace as seen here:
117
+ Before you can use the models and operations defined in the `Azure.Core` namespace, you will need to specify the API version of the `Azure.Core` library that your service uses. You can do this by adding the `@useDependency` decorator to the `Contoso.WidgetManager` namespace as seen here:
118
118
 
119
119
  ```typespec
120
120
  @service({
121
121
  title: "Contoso Widget Manager",
122
122
  })
123
- @versionedDependency(Azure.Core.Versions.v1_0_Preview_2)
123
+ @useDependency(Azure.Core.Versions.v1_0_Preview_2)
124
124
  namespace Contoso.WidgetManager;
125
125
  ```
126
126
 
@@ -364,12 +364,10 @@ Here is an example for the `WidgetManager` service:
364
364
  title: "Contoso Widget Manager",
365
365
  })
366
366
  @versioned(Contoso.WidgetManager.Versions)
367
- @versionedDependency(
368
- [[Contoso.WidgetManager.Versions.v2022_08_31, Azure.Core.Versions.v1_0_Preview_2]]
369
- )
370
367
  namespace Contoso.WidgetManager;
371
368
 
372
369
  enum Versions {
370
+ @useDependency(Azure.Core.Versions.v1_0_Preview_1)
373
371
  v2022_08_31: "2022-08-31",
374
372
  }
375
373
  ```
@@ -378,26 +376,28 @@ There are a few things to point out here:
378
376
 
379
377
  - We define an `enum` called `Versions` inside of the service namespace. For each service version, we map a version symbol like `v2022_08_31` to a version string like `2022-08-31`. This service currently only has a single version, but we can add more to this enum as things change over time.
380
378
  - We add the `@versioned` decorator and reference the `Versions` enum we defined using the fully-qualified name `Contoso.WidgetManager.Versions`. This marks the service as being versioned and specifies the set of versions.
381
- - We change the `@versionedDependency` decorator we used previously to now link each service version to a specific version of `Azure.Core`. See the [Using Azure.Core Versions](#using-azurecore-versions) section for more information.
379
+ - We change the `@useDependency` decorator we used previously to now link each service version to a specific version of `Azure.Core`. See the [Using Azure.Core Versions](#using-azurecore-versions) section for more information.
382
380
 
383
381
  Imagine that it's 3 months later and you want to release a new version of your service with some slight changes. Add a new version to the `Versions` enum:
384
382
 
385
383
  ```typespec
386
384
  enum Versions {
385
+ @useDependency(Azure.Core.Versions.v1_0_Preview_1)
387
386
  v2022_08_31: "2022-08-31",
388
387
  v2022_11_30: "2022-11-30",
389
388
  }
390
389
  ```
391
390
 
392
- You will also need to change the `@versionedDependency` decorator:
391
+ You will also need to add the `@useDependency` decorator:
393
392
 
394
393
  ```typespec
395
- @versionedDependency(
396
- [
397
- [Contoso.WidgetManager.Versions.v2022_08_31, Azure.Core.Versions.v1_0_Preview_2],
398
- [Contoso.WidgetManager.Versions.v2022_11_30, Azure.Core.Versions.v1_0_Preview_2]
399
- ]
400
- )
394
+ enum Versions {
395
+ @useDependency(Azure.Core.Versions.v1_0_Preview_1)
396
+ v2022_08_31: "2022-08-31",
397
+
398
+ @useDependency(Azure.Core.Versions.v1_0_Preview_2)
399
+ v2022_11_30: "2022-11-30",
400
+ }
401
401
  ```
402
402
 
403
403
  Finally, you can express changes to your service using the `@added` and `@removed` decorators. Here's an example of adding a new property to `Widget` and removing an old one:
@@ -425,15 +425,15 @@ You can do a lot more with versioning decorators, so consult the `typespec-versi
425
425
 
426
426
  ### Using Azure.Core versions
427
427
 
428
- `typespec-azure-core` is a versioned TypeSpec library. This means that even as the TypeSpec portions of the typespec-azure-core library are updated, you can anchor each version of your spec to a [specific `Azure.Core` version](#library-versions). This is done by decorating your service namespace with the `@versionedDependency` decorator from the `typespec-versioning` library.
428
+ `typespec-azure-core` is a versioned TypeSpec library. This means that even as the TypeSpec portions of the typespec-azure-core library are updated, you can anchor each version of your spec to a [specific `Azure.Core` version](#library-versions). This is done by decorating your service namespace with the `@useDependency` decorator from the `typespec-versioning` library.
429
429
 
430
- Simple TypeSpec specs need only pass the desired `Azure.Core` version into the `@versionedDependency` decorator:
430
+ Simple TypeSpec specs need only pass the desired `Azure.Core` version into the `@useDependency` decorator:
431
431
 
432
432
  ```typespec
433
433
  @service({
434
434
  title: "Contoso Widget Manager",
435
435
  })
436
- @versionedDependency(Azure.Core.Versions.v1_0_Preview_2)
436
+ @useDependency(Azure.Core.Versions.v1_0_Preview_2)
437
437
  namespace Contoso.WidgetManager;
438
438
  ```
439
439
 
@@ -444,13 +444,15 @@ If your spec has [multiple versions](#versioning-your-service), you will need to
444
444
  title: "Contoso Widget Manager",
445
445
  })
446
446
  @versioned(Contoso.WidgetManager.Versions)
447
- @versionedDependency(
448
- [
449
- [Contoso.WidgetManager.Versions.v2022_08_31, Azure.Core.Versions.v1_0_Preview_2],
450
- [Contoso.WidgetManager.Versions.v2022_11_30, Azure.Core.Versions.v1_0_Preview_2]
451
- ]
452
- )
453
447
  namespace Contoso.WidgetManager;
448
+
449
+ enum Versions {
450
+ @useDependency(Azure.Core.Versions.v1_0_Preview_1)
451
+ v2022_08_31: "v20220831",
452
+
453
+ @useDependency(Azure.Core.Versions.v1_0_Preview_2)
454
+ v2022_11_30: "v20221130",
455
+ }
454
456
  ```
455
457
 
456
458
  ## Advanced Topics
@@ -493,13 +495,14 @@ The operations defined against this singleton resource will also exclude the key
493
495
 
494
496
  ## Library Versions
495
497
 
496
- This is a versioned TypeSpec library which means that you must add the `@versionedDependency` decorator to your service namespace when you use its contents.
498
+ This is a versioned TypeSpec library which means that you must add the `@useDependency` decorator to your service namespace when you use its contents.
497
499
 
498
500
  Here are the current versions:
499
501
 
502
+ - `Azure.Core.Versions.v1_0_Preview_1`
500
503
  - `Azure.Core.Versions.v1_0_Preview_2`
501
504
 
502
- See the [Using Azure.Core Versions](#using-azurecore-versions) section for more details on how to use the `@versionedDependency` decorator.
505
+ See the [Using Azure.Core Versions](#using-azurecore-versions) section for more details on how to use the `@useDependency` decorator.
503
506
 
504
507
  ## Library Tour
505
508
 
package/dist/src/lib.d.ts CHANGED
@@ -95,7 +95,7 @@ export declare const libDef: {
95
95
  };
96
96
  };
97
97
  readonly "no-unknown": {
98
- readonly severity: "error";
98
+ readonly severity: "warning";
99
99
  readonly messages: {
100
100
  readonly default: "Azure services must not have properties of type `unknown`.";
101
101
  };
package/dist/src/lib.js CHANGED
@@ -96,7 +96,7 @@ export const libDef = {
96
96
  },
97
97
  },
98
98
  "no-unknown": {
99
- severity: "error",
99
+ severity: "warning",
100
100
  messages: {
101
101
  default: "Azure services must not have properties of type `unknown`.",
102
102
  },
@@ -1 +1 @@
1
- {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEzE,MAAM,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC;AAEtC,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,IAAI,EAAE,kCAAkC;IACxC,WAAW,EAAE;QACX,cAAc,EAAE;YACd,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,gBAAgB,MAAM,mBAAmB,QAAQ,EAAE;aACzE;SACF;QACD,6BAA6B,EAAE;YAC7B,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,wCAAwC,MAAM,GAAG;aACvE;SACF;QACD,kCAAkC,EAAE;YAClC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,sDAAsD;aAChE;SACF;QACD,oBAAoB,EAAE;YACpB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,uDAAuD,QAAQ,GAAG;aACxF;SACF;QACD,iBAAiB,EAAE;YACjB,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,aAAa,EAAE,YAAY,CAAA,GAAG,MAAM,oBAAoB,SAAS,WAAW,UAAU,YAAY,SAAS,2BAA2B;gBACtI,oBAAoB,EAAE,YAAY,CAAA,GAAG,MAAM,eAAe,SAAS,WAAW,UAAU,gCAAgC;aACzH;SACF;QACD,2BAA2B,EAAE;YAC3B,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,sBAAsB,MAAM,oCAAoC;aACtF;SACF;QACD,2BAA2B,EAAE;YAC3B,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,sBAAsB,MAAM,wCAAwC;aAC1F;SACF;QACD,2BAA2B,EAAE;YAC3B,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,wBAAwB,MAAM,8DAA8D,QAAQ,GAAG;aAC7H;SACF;QACD,kCAAkC,EAAE;YAClC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,iFAAiF;aAC3F;SACF;QACD,wCAAwC,EAAE;YACxC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,0DAA0D;aACpE;SACF;QACD,uBAAuB,EAAE;YACvB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,UAAU,EAAE,YAAY,CAAA,eAAe,MAAM,oFAAoF;gBACjI,cAAc,EAAE,YAAY,CAAA,eAAe,MAAM,uFAAuF;aACzI;SACF;QACD,qBAAqB,EAAE;YACrB,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EAAE,yDAAyD;aACnE;SACF;QACD,yBAAyB,EAAE;YACzB,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,cAAc,MAAM,sEAAsE;aAChH;SACF;QACD,WAAW,EAAE;YACX,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EAAE,wDAAwD;aAClE;SACF;QACD,4BAA4B,EAAE;YAC5B,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,+FAA+F;aACzG;SACF;QACD,YAAY,EAAE;YACZ,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EAAE,4DAA4D;aACtE;SACF;QACD,wBAAwB,EAAE;YACxB,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,OAAO,MAAM,WAAW,MAAM,oFAAoF;aACxI;SACF;QACD,yBAAyB,EAAE;YACzB,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,qBAAqB,MAAM,iGAAiG;aAClJ;SACF;QACD,yCAAyC,EAAE;YACzC,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EACL,wJAAwJ;aAC3J;SACF;QACD,2BAA2B,EAAE;YAC3B,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EACL,qJAAqJ;aACxJ;SACF;QACD,8BAA8B,EAAE;YAC9B,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,eAAe,WAAW,+FAA+F;aAC/I;SACF;QACD,6BAA6B,EAAE;YAC7B,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,eAAe,WAAW,2DAA2D,cAAc,yBAAyB;aAClJ;SACF;QACD,uBAAuB,EAAE;YACvB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EACL,oFAAoF;aACvF;SACF;QACD,iCAAiC,EAAE;YACjC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,eAAe,WAAW,wBAAwB,cAAc,mDAAmD;aACzI;SACF;QACD,wBAAwB,EAAE;YACxB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,mBAAmB,OAAO,iBAAiB,SAAS,EAAE;aAC5E;SACF;QACD,mBAAmB,EAAE;YACnB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,sBAAsB,cAAc,aAAa,MAAM,aAAa;aAC1F;SACF;QACD,2BAA2B,EAAE;YAC3B,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,4CAA4C;aACtD;SACF;QACD,kDAAkD,EAAE;YAClD,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,+EAA+E;aACzF;SACF;KACF;CACO,CAAC;AAEX,MAAM,CAAC,MAAM,IAAI,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAClD,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC"}
@@ -157,6 +157,13 @@ function getFinalStateVia(program, operation, context) {
157
157
  }
158
158
  return [finalState, model];
159
159
  }
160
+ if (resOp !== undefined &&
161
+ resOp.operation === "createOrReplace" &&
162
+ resOp.resourceType !== undefined) {
163
+ model = resOp.resourceType;
164
+ if (context.statusMonitorStep !== undefined)
165
+ finalState = getStatusFromLinkOrReference(program, operation, context.statusMonitorStep.target);
166
+ }
160
167
  // handle actions and delete operations
161
168
  if ((operationAction !== undefined &&
162
169
  operationAction !== null &&
@@ -1 +1 @@
1
- {"version":3,"file":"lro-helpers.js","sourceRoot":"","sources":["../../src/lro-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lro-helpers.js","sourceRoot":"","sources":["../../src/lro-helpers.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { DecoratorContext, EnumMember, Interface, Model, ModelProperty, Operation, Program, Tuple, Union, UnknownType } from "@typespec/compiler";
1
+ import { DecoratorContext, EnumMember, Interface, Model, ModelProperty, NullType, Operation, Program, Tuple, Union, UnknownType } from "@typespec/compiler";
2
2
  export declare function $traitSource(context: DecoratorContext, target: ModelProperty, traitName: string): void;
3
3
  /**
4
4
  * Retrieves the `traitName` stored for the given `property`, if any.
@@ -13,8 +13,7 @@ export declare function $traitContext(context: DecoratorContext, target: ModelPr
13
13
  export declare function getTraitContexts(program: Program, property: ModelProperty): EnumMember[];
14
14
  export declare function $traitLocation(context: DecoratorContext, target: ModelProperty, traitLocation: EnumMember): void;
15
15
  export declare function getTraitLocation(program: Program, property: ModelProperty): EnumMember | undefined;
16
- export declare function $traitAdded(context: DecoratorContext, target: Model, addedVersion: EnumMember): void;
17
- export declare function $traitRemoved(context: DecoratorContext, target: Model, removedVersion: EnumMember): void;
16
+ export declare function $traitAdded(context: DecoratorContext, target: Model | ModelProperty, addedVersion: EnumMember | NullType): void;
18
17
  export declare function $addTraitProperties(context: DecoratorContext, target: Model, traitModel: Model, traitLocation: EnumMember, traitContexts: EnumMember | Union | UnknownType): void;
19
18
  export declare function $applyTraitOverride(context: DecoratorContext, target: Model, traitModel: Model): void;
20
19
  export declare function $ensureTraitsPresent(context: DecoratorContext, target: Interface | Operation, traitModel: Model, expectedTraits: Tuple): void;
@@ -1 +1 @@
1
- {"version":3,"file":"traits.d.ts","sourceRoot":"","sources":["../../src/traits.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,UAAU,EAEV,SAAS,EACT,KAAK,EACL,aAAa,EAEb,SAAS,EACT,OAAO,EAEP,KAAK,EAEL,KAAK,EACL,WAAW,EAEZ,MAAM,oBAAoB,CAAC;AAM5B,wBAAgB,YAAY,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,QAG/F;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,CAEhG;AAKD,wBAAgB,MAAM,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,MAAM,QA4DlF;AASD,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAEpE;AAOD,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAE/E;AAGD,wBAAgB,aAAa,CAC3B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,YAAY,EAAE,UAAU,GAAG,KAAK,GAAG,WAAW,QAK/C;AA6CD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,GAAG,UAAU,EAAE,CAExF;AAGD,wBAAgB,cAAc,CAC5B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,aAAa,EAAE,UAAU,QAG1B;AASD,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,aAAa,GACtB,UAAU,GAAG,SAAS,CAExB;AAgDD,wBAAgB,WAAW,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,QAO7F;AAID,wBAAgB,aAAa,CAC3B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EACb,cAAc,EAAE,UAAU,QAQ3B;AAID,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EACb,UAAU,EAAE,KAAK,EACjB,aAAa,EAAE,UAAU,EACzB,aAAa,EAAE,UAAU,GAAG,KAAK,GAAG,WAAW,QA6DhD;AA+BD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,QAyB9F;AAID,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,GAAG,SAAS,EAC7B,UAAU,EAAE,KAAK,EACjB,cAAc,EAAE,KAAK,QAqCtB;AAID,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,QAahG;AAID,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EACb,UAAU,EAAE,KAAK,QAclB"}
1
+ {"version":3,"file":"traits.d.ts","sourceRoot":"","sources":["../../src/traits.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,UAAU,EAEV,SAAS,EAET,KAAK,EACL,aAAa,EAEb,QAAQ,EACR,SAAS,EACT,OAAO,EAEP,KAAK,EACL,KAAK,EACL,WAAW,EAEZ,MAAM,oBAAoB,CAAC;AAM5B,wBAAgB,YAAY,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,QAG/F;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,CAEhG;AAKD,wBAAgB,MAAM,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,MAAM,QA4DlF;AASD,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAEpE;AAOD,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAE/E;AAGD,wBAAgB,aAAa,CAC3B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,YAAY,EAAE,UAAU,GAAG,KAAK,GAAG,WAAW,QAK/C;AA6CD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,GAAG,UAAU,EAAE,CAExF;AAGD,wBAAgB,cAAc,CAC5B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,aAAa,EAAE,UAAU,QAG1B;AASD,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,aAAa,GACtB,UAAU,GAAG,SAAS,CAExB;AAID,wBAAgB,WAAW,CACzB,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,GAAG,aAAa,EAC7B,YAAY,EAAE,UAAU,GAAG,QAAQ,QA4BpC;AAWD,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EACb,UAAU,EAAE,KAAK,EACjB,aAAa,EAAE,UAAU,EACzB,aAAa,EAAE,UAAU,GAAG,KAAK,GAAG,WAAW,QA4EhD;AA+BD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,QA6B9F;AAID,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,GAAG,SAAS,EAC7B,UAAU,EAAE,KAAK,EACjB,cAAc,EAAE,KAAK,QAqCtB;AAID,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,QAahG;AAID,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EACb,UAAU,EAAE,KAAK,QAclB"}
@@ -1,6 +1,6 @@
1
- import { getTypeName, setTypeSpecNamespace, validateDecoratorParamType, } from "@typespec/compiler";
1
+ import { getTypeName, isNeverType, setTypeSpecNamespace, validateDecoratorParamType, } from "@typespec/compiler";
2
2
  import { isHeader, isQueryParam } from "@typespec/http";
3
- import { $added, $removed } from "@typespec/versioning";
3
+ import { $added } from "@typespec/versioning";
4
4
  import { createStateSymbol, reportDiagnostic } from "./lib.js";
5
5
  const traitSourceKey = createStateSymbol("traitSource");
6
6
  export function $traitSource(context, target, traitName) {
@@ -147,56 +147,35 @@ setTypeSpecNamespace("Traits", $traitLocation);
147
147
  export function getTraitLocation(program, property) {
148
148
  return program.stateMap(traitLocationKey).get(property);
149
149
  }
150
- function applyVersioningDecorator(context, traitModel, decorator, version) {
151
- // Extract the envelope property
152
- const [envelopeName] = traitModel.properties.keys();
153
- const envelopeProperty = traitModel.properties.get(envelopeName);
154
- if (envelopeProperty.type.kind !== "Model") {
155
- // The @trait decorator has already raised a diagnostic so skip it.
150
+ const traitAddedKey = Symbol("traitLocation");
151
+ export function $traitAdded(context, target, addedVersion) {
152
+ if (addedVersion.kind !== "EnumMember") {
153
+ // The type is probably "null" so don't do anything
156
154
  return;
157
155
  }
158
- // This next bit seems a little complicated: we need to go add the versioning
159
- // decorator to each of the properties inside of the properties of the
160
- // envelope.
161
- //
162
- // This is needed because the trait model envelope and its inner properties
163
- // never get inserted verbatim in the output document so the versioning
164
- // projection never sees them.
165
- //
166
- // Instead, need to make sure all versioning properties are added to the
167
- // properties that ultimately get spread in to the TraitProperties model so
168
- // that the versioning projection will find them.
169
- for (const [_, traitProperty] of envelopeProperty.type.properties) {
170
- if (traitProperty.type.kind === "Model") {
171
- for (const [_, property] of traitProperty.type.properties) {
172
- // Apply the `added` decorator to the property
173
- context.call(decorator, property, version);
174
- // Manually push the decorator onto the property so that it's copyable when
175
- // using model intersections and spreads
176
- property.decorators.push({
177
- decorator: decorator,
178
- args: [{ value: version }],
179
- });
180
- }
156
+ if (target.kind === "Model") {
157
+ if (target.properties.size !== 1) {
158
+ // The @trait decorator has already raised a diagnostic so skip it.
159
+ return;
181
160
  }
161
+ // Invoke the decorator on the sole envelope property
162
+ const envelopeProperty = target.properties.values().next().value;
163
+ context.call($traitAdded, envelopeProperty, addedVersion);
164
+ // Manually push the decorator onto the property so that it's copyable when
165
+ // using model intersections and spreads
166
+ envelopeProperty.decorators.push({
167
+ decorator: $traitAdded,
168
+ args: [{ value: addedVersion }],
169
+ });
182
170
  }
171
+ // Save the version on the envelope property so that it can be used later when
172
+ // we copy out trait properties
173
+ context.program.stateMap(traitAddedKey).set(target, addedVersion);
183
174
  }
184
- export function $traitAdded(context, target, addedVersion) {
185
- if (target.properties.size !== 1) {
186
- // The @trait decorator has already raised a diagnostic so skip it.
187
- return;
188
- }
189
- applyVersioningDecorator(context, target, $added, addedVersion);
190
- }
191
- setTypeSpecNamespace("Traits.Private", $traitAdded);
192
- export function $traitRemoved(context, target, removedVersion) {
193
- if (target.properties.size !== 1) {
194
- // The @trait decorator has already raised a diagnostic so skip it.
195
- return;
196
- }
197
- applyVersioningDecorator(context, target, $removed, removedVersion);
175
+ function getTraitAddedVersion(program, envelopeProperty) {
176
+ return program.stateMap(traitAddedKey).get(envelopeProperty);
198
177
  }
199
- setTypeSpecNamespace("Traits.Private", $traitRemoved);
178
+ setTypeSpecNamespace("Traits", $traitAdded);
200
179
  export function $addTraitProperties(context, target, traitModel, traitLocation, traitContexts) {
201
180
  // TODO: Remove this when https://github.com/microsoft/typespec/issues/1525 is resolved
202
181
  validateDecoratorParamType(context.program, target, traitLocation, "EnumMember");
@@ -206,6 +185,8 @@ export function $addTraitProperties(context, target, traitModel, traitLocation,
206
185
  // criteria for this trait location and context list
207
186
  const { program } = context;
208
187
  for (const [_, traitEnvelope] of traitModel.properties) {
188
+ // Check whether the envelope property is marked with a traitAdded version
189
+ const addedVersion = getTraitAddedVersion(context.program, traitEnvelope);
209
190
  // Make sure we're looking at a trait that we haven't already processed
210
191
  const traitName = getSourceTraitName(program, traitEnvelope);
211
192
  if (traitName && !appliedTraits.has(traitName)) {
@@ -234,6 +215,17 @@ export function $addTraitProperties(context, target, traitModel, traitLocation,
234
215
  target.properties.set(name, context.program.checker.cloneType(property, {
235
216
  sourceProperty: property,
236
217
  model: target,
218
+ decorators: [
219
+ ...property.decorators,
220
+ ...(addedVersion
221
+ ? [
222
+ {
223
+ decorator: $added,
224
+ args: [{ value: addedVersion }],
225
+ },
226
+ ]
227
+ : []),
228
+ ],
237
229
  }));
238
230
  appliedTraits.add(traitName);
239
231
  }
@@ -260,6 +252,10 @@ setTypeSpecNamespace("Traits.Private", $addTraitProperties);
260
252
  // unique envelope property name.
261
253
  let traitOverrideCounter = 1;
262
254
  export function $applyTraitOverride(context, target, traitModel) {
255
+ // Until versioning fix never types with pre projection https://github.com/microsoft/typespec/issues/1500
256
+ if (isNeverType(traitModel)) {
257
+ return;
258
+ }
263
259
  if (traitModel.properties.size !== 1) {
264
260
  // The @trait decorator has already raised a diagnostic so skip it.
265
261
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"traits.js","sourceRoot":"","sources":["../../src/traits.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"traits.js","sourceRoot":"","sources":["../../src/traits.ts"],"names":[],"mappings":"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"}
package/lib/models.tsp CHANGED
@@ -64,7 +64,9 @@ model MaxPageSizeQueryParameter {
64
64
 
65
65
  @doc("Provides the standard 'orderby' query parameter for list operations.")
66
66
  model OrderByQueryParameter {
67
- @query
67
+ @query({
68
+ format: "multi",
69
+ })
68
70
  @doc("Expressions that specify the order of returned results.")
69
71
  orderby?: string[];
70
72
  }
@@ -78,14 +80,18 @@ model FilterQueryParameter {
78
80
 
79
81
  @doc("Provides the standard 'select' query parameter for list operations.")
80
82
  model SelectQueryParameter {
81
- @query
83
+ @query({
84
+ format: "multi",
85
+ })
82
86
  @doc("Select the specified fields to be included in the response.")
83
87
  select?: string[];
84
88
  }
85
89
 
86
90
  @doc("Provides the standard 'expand' query parameter for list operations.")
87
91
  model ExpandQueryParameter {
88
- @query
92
+ @query({
93
+ format: "multi",
94
+ })
89
95
  @doc("Expand the indicated resources into the response.")
90
96
  expand?: string[];
91
97
  }
@@ -84,7 +84,7 @@ interface ResourceOperations<
84
84
  TraitLocation.Response,
85
85
  TraitContext.Create | TraitContext.Update
86
86
  > &
87
- Foundations.LongRunningStatusLocation<TResource>>,
87
+ Foundations.LongRunningStatusLocation>,
88
88
  Traits & InterfaceTraits,
89
89
  TErrorResponse
90
90
  >;
package/lib/traits.tsp CHANGED
@@ -40,21 +40,6 @@ enum TraitContext {
40
40
  Action,
41
41
  }
42
42
 
43
- // NOTE: These are currently commented out while we rethink how trait versioning should
44
- // work in a later release. See issue: https://github.com/Azure/typespec-azure/issues/2422
45
-
46
- // @added(Azure.Core.Versions.v1_0_Preview_2)
47
- // @Private.traitAdded(Version)
48
- // model TraitAdded<Trait, Version> {
49
- // ...Trait;
50
- // }
51
-
52
- // @added(Azure.Core.Versions.v1_0_Preview_2)
53
- // @Private.traitRemoved(Version)
54
- // model TraitRemoved<Trait, Version> {
55
- // ...Trait;
56
- // }
57
-
58
43
  @added(Azure.Core.Versions.v1_0_Preview_2)
59
44
  @Private.applyTraitOverride(Trait)
60
45
  model TraitOverride<Trait> {}
@@ -105,8 +90,14 @@ model VersionParameterTrait<TVersionParameter> {
105
90
  };
106
91
  }
107
92
 
93
+ /**
94
+ * Provides clientRequestId headers for requests and responses.
95
+ * @template TVersionAdded The version when the trait was added to the specification.
96
+ * Leave this empty if the trait is always supported.
97
+ */
108
98
  @trait("ClientRequestId")
109
- model SupportsClientRequestId {
99
+ @traitAdded(TVersionAdded)
100
+ model SupportsClientRequestId<TVersionAdded extends EnumMember | null = null> {
110
101
  #suppress "@azure-tools/typespec-providerhub/no-inline-model" "This inline model is never used directly in operations."
111
102
  clientRequestId: {
112
103
  @traitLocation(TraitLocation.Parameters)
@@ -117,13 +108,22 @@ model SupportsClientRequestId {
117
108
  };
118
109
  }
119
110
 
111
+ /**
112
+ * Indicates that the service or operation does not support clientRequestId headers.
113
+ */
120
114
  @trait("ClientRequestId")
121
115
  model NoClientRequestId {
122
116
  clientRequestId: {};
123
117
  }
124
118
 
119
+ /**
120
+ * Provides conditional request headers for requests and ETag headers for responses.
121
+ * @template TVersionAdded The version when the trait was added to the specification.
122
+ * Leave this empty if the trait is always supported.
123
+ */
125
124
  @trait("ConditionalRequests")
126
- model SupportsConditionalRequests {
125
+ @traitAdded(TVersionAdded)
126
+ model SupportsConditionalRequests<TVersionAdded extends EnumMember | null = null> {
127
127
  #suppress "@azure-tools/typespec-providerhub/no-inline-model" "This inline model is never used directly in operations."
128
128
  @traitContext(TraitContext.Read)
129
129
  conditionalRequests: {
@@ -135,13 +135,22 @@ model SupportsConditionalRequests {
135
135
  };
136
136
  }
137
137
 
138
+ /**
139
+ * Indicates that the service or operation does not support conditional requests.
140
+ */
138
141
  @trait("ConditionalRequests")
139
142
  model NoConditionalRequests {
140
143
  conditionalRequests: {};
141
144
  }
142
145
 
146
+ /**
147
+ * Provides repeatable request headers for requests and responses.
148
+ * @template TVersionAdded The version when the trait was added to the specification.
149
+ * Leave this empty if the trait is always supported.
150
+ */
143
151
  @trait("RepeatableRequests")
144
- model SupportsRepeatableRequests {
152
+ @traitAdded(TVersionAdded)
153
+ model SupportsRepeatableRequests<TVersionAdded extends EnumMember | null = null> {
145
154
  #suppress "@azure-tools/typespec-providerhub/no-inline-model" "This inline model is never used directly in operations."
146
155
  @traitContext(
147
156
  TraitContext.Create | TraitContext.Update | TraitContext.Delete | TraitContext.Action
@@ -155,6 +164,9 @@ model SupportsRepeatableRequests {
155
164
  };
156
165
  }
157
166
 
167
+ /**
168
+ * Indicates that the service or operation does not support repeatable requests.
169
+ */
158
170
  @trait("RepeatableRequests")
159
171
  model NoRepeatableRequests {
160
172
  repeatableRequests: {};
@@ -187,6 +199,13 @@ extern dec traitContext(target: ModelProperty, contexts: EnumMember | Union | un
187
199
  */
188
200
  extern dec traitLocation(target: ModelProperty, contexts: EnumMember);
189
201
 
202
+ /**
203
+ * Sets the version for when the trait was added to the specification. Can be applied
204
+ * to either a trait model type or its envelope property.
205
+ * @param addedVersion The enum member representing the service version.
206
+ */
207
+ extern dec traitAdded(target: object | ModelProperty, addedVersion: EnumMember | null);
208
+
190
209
  namespace Azure.Core.Traits.Private {
191
210
  @added(Azure.Core.Versions.v1_0_Preview_2)
192
211
  @Private.addTraitProperties(Traits, Location, Contexts)
@@ -215,12 +234,6 @@ namespace Azure {
215
234
  */
216
235
  extern dec traitSource(target: ModelProperty, traitName: string);
217
236
 
218
- /**
219
- * Sets the version for when the trait was added to the specification.
220
- * @param addedVersion The enum member representing the servie version.
221
- */
222
- extern dec traitAdded(target: object, addedVersion: EnumMember);
223
-
224
237
  /**
225
238
  * Copies trait properties from `traitModel` into `target` which conform to the
226
239
  * specified location and contexts.
@@ -235,12 +248,6 @@ namespace Azure {
235
248
  traitContexts: EnumMember | Union | unknown
236
249
  );
237
250
 
238
- /**
239
- * Sets the version for when the trait was removed from the specification.
240
- * @param removedVersion The enum member representing the servie version.
241
- */
242
- extern dec traitRemoved(target: object, removedVersion: EnumMember);
243
-
244
251
  /**
245
252
  * `@applyTraitOverride` copies the `traitModel` into `target` and renames its envelope
246
253
  * property to enable the trait to override another trait sharing the same name.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@azure-tools/typespec-azure-core",
3
- "version": "0.28.1",
3
+ "version": "0.29.0-dev.10",
4
4
  "author": "Microsoft Corporation",
5
5
  "description": "TypeSpec Azure Core library",
6
6
  "homepage": "https://azure.github.io/typespec-azure",
@@ -42,25 +42,27 @@
42
42
  "!dist/test/**"
43
43
  ],
44
44
  "peerDependencies": {
45
- "@typespec/compiler": "~0.42.0",
46
- "@typespec/http": "~0.42.0",
47
- "@typespec/rest": "~0.42.0"
45
+ "@typespec/compiler": ">=0.42.0",
46
+ "@typespec/http": ">=0.42.0",
47
+ "@typespec/rest": ">=0.42.0"
48
48
  },
49
49
  "dependencies": {
50
- "@typespec/lint": "~0.42.0"
50
+ "@typespec/lint": ">=0.42.0"
51
51
  },
52
52
  "devDependencies": {
53
- "@typespec/compiler": "~0.42.0",
54
- "@typespec/http": "~0.42.0",
55
- "@typespec/rest": "~0.42.0",
56
- "@typespec/eslint-config-typespec": "~0.6.0",
57
- "@typespec/library-linter": "~0.42.0",
58
- "@typespec/eslint-plugin": "~0.42.0",
59
- "@typespec/versioning": "~0.42.0",
53
+ "@typespec/compiler": ">=0.42.0",
54
+ "@typespec/http": ">=0.42.0",
55
+ "@typespec/rest": ">=0.42.0",
56
+ "@typespec/eslint-config-typespec": ">=0.6.0",
57
+ "@typespec/library-linter": ">=0.42.0",
58
+ "@typespec/eslint-plugin": ">=0.42.0",
59
+ "@typespec/versioning": ">=0.42.0",
60
60
  "@types/mocha": "~10.0.0",
61
61
  "@types/node": "~18.11.9",
62
62
  "eslint": "^8.12.0",
63
63
  "mocha": "~10.1.0",
64
+ "mocha-junit-reporter": "~2.2.0",
65
+ "mocha-multi-reporters": "~1.5.1",
64
66
  "c8": "~7.12.0",
65
67
  "rimraf": "~3.0.2",
66
68
  "typescript": "~4.9.3"
@@ -71,7 +73,7 @@
71
73
  "watch": "tsc -p . --watch",
72
74
  "lint-typespec-library": "tsp compile . --warn-as-error --import @typespec/library-linter --no-emit",
73
75
  "test": "mocha",
74
- "test-official": "c8 mocha --forbid-only",
76
+ "test-official": "c8 mocha --forbid-only --reporter mocha-multi-reporters",
75
77
  "lint": "eslint . --ext .ts --max-warnings=0",
76
78
  "lint:fix": "eslint . --fix --ext .ts"
77
79
  }