@azure-tools/typespec-azure-core 0.29.0-dev.9 → 0.30.0-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,3 @@
1
- import "./index.js";
2
1
  import { DecoratorContext, Diagnostic, Enum, EnumMember, Model, ModelProperty, Operation, Program, Scalar, Type } from "@typespec/compiler";
3
2
  export declare const namespace = "Azure.Core";
4
3
  export declare const PollingOperationKey: string;
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import "./index.js";
2
1
  import { createDiagnostic, createStateSymbol, reportDiagnostic } from "./lib.js";
3
2
  import { createDiagnosticCollector, getKnownValues, getNamespaceFullName, getTypeName, isErrorModel, isKey, isStringType, setTypeSpecNamespace, validateDecoratorTarget, } from "@typespec/compiler";
4
3
  import { getOperationParameters, getResponsesForOperation, getRoutePath } from "@typespec/http";
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
package/dist/src/lib.d.ts CHANGED
@@ -172,6 +172,12 @@ export declare const libDef: {
172
172
  readonly default: "At least one operation response must contain a field marked with `@lroStatus`";
173
173
  };
174
174
  };
175
+ readonly "no-object": {
176
+ readonly severity: "error";
177
+ readonly messages: {
178
+ readonly default: "Don't use 'object'.\n - If you want an object with any properties, use `Record<unknown>`\n - If you meant anything, use `unknown`.";
179
+ };
180
+ };
175
181
  };
176
182
  };
177
183
  export declare const $lib: import("@typespec/compiler").TypeSpecLibrary<{
@@ -261,8 +267,11 @@ export declare const $lib: import("@typespec/compiler").TypeSpecLibrary<{
261
267
  "lro-polling-data-missing-from-operation-response": {
262
268
  readonly default: "At least one operation response must contain a field marked with `@lroStatus`";
263
269
  };
270
+ "no-object": {
271
+ readonly default: "Don't use 'object'.\n - If you want an object with any properties, use `Record<unknown>`\n - If you meant anything, use `unknown`.";
272
+ };
264
273
  }, Record<string, any>>;
265
- export declare const reportDiagnostic: <C extends "casing-style" | "lro-status-union-non-string" | "lro-status-property-invalid-type" | "lro-status-missing" | "bad-record-type" | "request-parameter-invalid" | "response-property-invalid" | "no-multiple-discriminator" | "operation-link-parameter-invalid" | "client-definition-parameters-not-model" | "invalid-resource-type" | "use-extensible-enum" | "use-standard-operations" | "no-format" | "no-rest-library-interfaces" | "no-unknown" | "documentation-required" | "key-visibility-required" | "long-running-polling-operation-required" | "rpc-operation-needs-route" | "invalid-trait-property-count" | "invalid-trait-property-type" | "invalid-trait-context" | "trait-property-without-location" | "expected-trait-missing" | "invalid-parameter" | "expected-success-response" | "lro-polling-data-missing-from-operation-response", M extends keyof {
274
+ export declare const reportDiagnostic: <C extends "casing-style" | "lro-status-union-non-string" | "lro-status-property-invalid-type" | "lro-status-missing" | "bad-record-type" | "request-parameter-invalid" | "response-property-invalid" | "no-multiple-discriminator" | "operation-link-parameter-invalid" | "client-definition-parameters-not-model" | "invalid-resource-type" | "use-extensible-enum" | "use-standard-operations" | "no-format" | "no-rest-library-interfaces" | "no-unknown" | "documentation-required" | "key-visibility-required" | "long-running-polling-operation-required" | "rpc-operation-needs-route" | "invalid-trait-property-count" | "invalid-trait-property-type" | "invalid-trait-context" | "trait-property-without-location" | "expected-trait-missing" | "invalid-parameter" | "expected-success-response" | "lro-polling-data-missing-from-operation-response" | "no-object", M extends keyof {
266
275
  "casing-style": {
267
276
  readonly default: import("@typespec/compiler").CallableMessage<["type", "casing"]>;
268
277
  };
@@ -349,6 +358,9 @@ export declare const reportDiagnostic: <C extends "casing-style" | "lro-status-u
349
358
  "lro-polling-data-missing-from-operation-response": {
350
359
  readonly default: "At least one operation response must contain a field marked with `@lroStatus`";
351
360
  };
361
+ "no-object": {
362
+ readonly default: "Don't use 'object'.\n - If you want an object with any properties, use `Record<unknown>`\n - If you meant anything, use `unknown`.";
363
+ };
352
364
  }[C]>(program: import("@typespec/compiler").Program, diag: import("@typespec/compiler").DiagnosticReport<{
353
365
  "casing-style": {
354
366
  readonly default: import("@typespec/compiler").CallableMessage<["type", "casing"]>;
@@ -436,7 +448,10 @@ export declare const reportDiagnostic: <C extends "casing-style" | "lro-status-u
436
448
  "lro-polling-data-missing-from-operation-response": {
437
449
  readonly default: "At least one operation response must contain a field marked with `@lroStatus`";
438
450
  };
439
- }, C, M>) => void, createDiagnostic: <C extends "casing-style" | "lro-status-union-non-string" | "lro-status-property-invalid-type" | "lro-status-missing" | "bad-record-type" | "request-parameter-invalid" | "response-property-invalid" | "no-multiple-discriminator" | "operation-link-parameter-invalid" | "client-definition-parameters-not-model" | "invalid-resource-type" | "use-extensible-enum" | "use-standard-operations" | "no-format" | "no-rest-library-interfaces" | "no-unknown" | "documentation-required" | "key-visibility-required" | "long-running-polling-operation-required" | "rpc-operation-needs-route" | "invalid-trait-property-count" | "invalid-trait-property-type" | "invalid-trait-context" | "trait-property-without-location" | "expected-trait-missing" | "invalid-parameter" | "expected-success-response" | "lro-polling-data-missing-from-operation-response", M extends keyof {
451
+ "no-object": {
452
+ readonly default: "Don't use 'object'.\n - If you want an object with any properties, use `Record<unknown>`\n - If you meant anything, use `unknown`.";
453
+ };
454
+ }, C, M>) => void, createDiagnostic: <C extends "casing-style" | "lro-status-union-non-string" | "lro-status-property-invalid-type" | "lro-status-missing" | "bad-record-type" | "request-parameter-invalid" | "response-property-invalid" | "no-multiple-discriminator" | "operation-link-parameter-invalid" | "client-definition-parameters-not-model" | "invalid-resource-type" | "use-extensible-enum" | "use-standard-operations" | "no-format" | "no-rest-library-interfaces" | "no-unknown" | "documentation-required" | "key-visibility-required" | "long-running-polling-operation-required" | "rpc-operation-needs-route" | "invalid-trait-property-count" | "invalid-trait-property-type" | "invalid-trait-context" | "trait-property-without-location" | "expected-trait-missing" | "invalid-parameter" | "expected-success-response" | "lro-polling-data-missing-from-operation-response" | "no-object", M extends keyof {
440
455
  "casing-style": {
441
456
  readonly default: import("@typespec/compiler").CallableMessage<["type", "casing"]>;
442
457
  };
@@ -523,6 +538,9 @@ export declare const reportDiagnostic: <C extends "casing-style" | "lro-status-u
523
538
  "lro-polling-data-missing-from-operation-response": {
524
539
  readonly default: "At least one operation response must contain a field marked with `@lroStatus`";
525
540
  };
541
+ "no-object": {
542
+ readonly default: "Don't use 'object'.\n - If you want an object with any properties, use `Record<unknown>`\n - If you meant anything, use `unknown`.";
543
+ };
526
544
  }[C]>(diag: import("@typespec/compiler").DiagnosticReport<{
527
545
  "casing-style": {
528
546
  readonly default: import("@typespec/compiler").CallableMessage<["type", "casing"]>;
@@ -610,5 +628,8 @@ export declare const reportDiagnostic: <C extends "casing-style" | "lro-status-u
610
628
  "lro-polling-data-missing-from-operation-response": {
611
629
  readonly default: "At least one operation response must contain a field marked with `@lroStatus`";
612
630
  };
631
+ "no-object": {
632
+ readonly default: "Don't use 'object'.\n - If you want an object with any properties, use `Record<unknown>`\n - If you meant anything, use `unknown`.";
633
+ };
613
634
  }, C, M>) => import("@typespec/compiler").Diagnostic, createStateSymbol: (name: string) => symbol;
614
635
  //# sourceMappingURL=lib.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,eAAe,CAAC;AAEtC,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiLT,CAAC;AAEX,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAAgC,CAAC;AAClD,eAAO,MAAQ,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAE,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sDAAE,iBAAiB,0BAAS,CAAC"}
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,eAAe,CAAC;AAEtC,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyLT,CAAC;AAEX,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAAgC,CAAC;AAClD,eAAO,MAAQ,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAE,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sDAAE,iBAAiB,0BAAS,CAAC"}
package/dist/src/lib.js CHANGED
@@ -173,6 +173,12 @@ export const libDef = {
173
173
  default: "At least one operation response must contain a field marked with `@lroStatus`",
174
174
  },
175
175
  },
176
+ "no-object": {
177
+ severity: "error",
178
+ messages: {
179
+ default: "Don't use 'object'.\n - If you want an object with any properties, use `Record<unknown>`\n - If you meant anything, use `unknown`.",
180
+ },
181
+ },
176
182
  },
177
183
  };
178
184
  export const $lib = createTypeSpecLibrary(libDef);
@@ -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":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"linter.d.ts","sourceRoot":"","sources":["../../src/linter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAoC7C,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,QAM3C"}
1
+ {"version":3,"file":"linter.d.ts","sourceRoot":"","sources":["../../src/linter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAsC7C,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,QAM3C"}
@@ -4,6 +4,7 @@ import { $lib } from "./lib.js";
4
4
  import { casingRule } from "./rules/casing.js";
5
5
  import { extensibleEnumRule } from "./rules/extensible-enums.js";
6
6
  import { longRunningOperationsRequirePollingOperation } from "./rules/lro-polling-operation.js";
7
+ import { noObjectRule } from "./rules/no-object.js";
7
8
  import { preventFormatUse } from "./rules/prevent-format.js";
8
9
  import { preventMultipleDiscriminator } from "./rules/prevent-multiple-discriminator.js";
9
10
  import { preventRestLibraryInterfaces } from "./rules/prevent-rest-library.js";
@@ -17,6 +18,7 @@ linter.registerRules([
17
18
  casingRule,
18
19
  extensibleEnumRule,
19
20
  useStandardOperations,
21
+ noObjectRule,
20
22
  preventFormatUse,
21
23
  preventMultipleDiscriminator,
22
24
  preventRestLibraryInterfaces,
@@ -1 +1 @@
1
- {"version":3,"file":"linter.js","sourceRoot":"","sources":["../../src/linter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,4CAA4C,EAAE,MAAM,kCAAkC,CAAC;AAChG,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,2CAA2C,CAAC;AACzF,OAAO,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAC/B,MAAM,CAAC,aAAa,CAClB;IACE,UAAU;IACV,kBAAkB;IAClB,qBAAqB;IACrB,gBAAgB;IAChB,4BAA4B;IAC5B,4BAA4B;IAC5B,kBAAkB;IAClB,cAAc;IACd,oBAAoB;IACpB,oBAAoB;IACpB,4CAA4C;CAC7C,EACD;IACE,UAAU,EAAE,IAAI;CACjB,CACF,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,OAAgB;IAC1C,MAAM,CAAC,eAAe,EAAE,CAAC;IACzB,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAE/B,wBAAwB;IACxB,cAAc,CAAC,OAAO,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"linter.js","sourceRoot":"","sources":["../../src/linter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,4CAA4C,EAAE,MAAM,kCAAkC,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,2CAA2C,CAAC;AACzF,OAAO,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAC/B,MAAM,CAAC,aAAa,CAClB;IACE,UAAU;IACV,kBAAkB;IAClB,qBAAqB;IACrB,YAAY;IACZ,gBAAgB;IAChB,4BAA4B;IAC5B,4BAA4B;IAC5B,kBAAkB;IAClB,cAAc;IACd,oBAAoB;IACpB,oBAAoB;IACpB,4CAA4C;CAC7C,EACD;IACE,UAAU,EAAE,IAAI;CACjB,CACF,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,OAAgB;IAC1C,MAAM,CAAC,eAAe,EAAE,CAAC;IACzB,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAE/B,wBAAwB;IACxB,cAAc,CAAC,OAAO,CAAC,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const noObjectRule: import("@typespec/lint").LintRule;
2
+ //# sourceMappingURL=no-object.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-object.d.ts","sourceRoot":"","sources":["../../../src/rules/no-object.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,YAAY,mCAmCvB,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { createRule } from "@typespec/lint";
2
+ import { reportDiagnostic } from "../lib.js";
3
+ import { isExcludedCoreType } from "./utils.js";
4
+ export const noObjectRule = createRule({
5
+ name: "no-object",
6
+ create({ program }) {
7
+ const [objectType] = program.resolveTypeReference("TypeSpec.object");
8
+ const reportIfObject = (program, type, target) => {
9
+ if (type === objectType) {
10
+ reportDiagnostic(program, {
11
+ code: "no-object",
12
+ target,
13
+ });
14
+ }
15
+ };
16
+ return {
17
+ model: (model) => {
18
+ if (isExcludedCoreType(program, model))
19
+ return;
20
+ if (model.baseModel) {
21
+ reportIfObject(program, model.baseModel, model);
22
+ }
23
+ },
24
+ modelProperty: (property) => {
25
+ if (isExcludedCoreType(program, property))
26
+ return;
27
+ reportIfObject(program, property.type, property);
28
+ },
29
+ unionVariant: (variant) => {
30
+ if (isExcludedCoreType(program, variant))
31
+ return;
32
+ reportIfObject(program, variant.type, variant);
33
+ },
34
+ operation: (operation) => {
35
+ if (isExcludedCoreType(program, operation))
36
+ return;
37
+ reportIfObject(program, operation.returnType, operation);
38
+ },
39
+ };
40
+ },
41
+ });
42
+ //# sourceMappingURL=no-object.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-object.js","sourceRoot":"","sources":["../../../src/rules/no-object.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,CAAC;IACrC,IAAI,EAAE,WAAW;IACjB,MAAM,CAAC,EAAE,OAAO,EAAE;QAChB,MAAM,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;QAErE,MAAM,cAAc,GAAG,CAAC,OAAgB,EAAE,IAAU,EAAE,MAAwB,EAAE,EAAE;YAChF,IAAI,IAAI,KAAK,UAAU,EAAE;gBACvB,gBAAgB,CAAC,OAAO,EAAE;oBACxB,IAAI,EAAE,WAAW;oBACjB,MAAM;iBACP,CAAC,CAAC;aACJ;QACH,CAAC,CAAC;QAEF,OAAO;YACL,KAAK,EAAE,CAAC,KAAY,EAAE,EAAE;gBACtB,IAAI,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC;oBAAE,OAAO;gBAC/C,IAAI,KAAK,CAAC,SAAS,EAAE;oBACnB,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;iBACjD;YACH,CAAC;YACD,aAAa,EAAE,CAAC,QAAuB,EAAE,EAAE;gBACzC,IAAI,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC;oBAAE,OAAO;gBAClD,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACnD,CAAC;YACD,YAAY,EAAE,CAAC,OAAqB,EAAE,EAAE;gBACtC,IAAI,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC;oBAAE,OAAO;gBACjD,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACjD,CAAC;YACD,SAAS,EAAE,CAAC,SAAoB,EAAE,EAAE;gBAClC,IAAI,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC;oBAAE,OAAO;gBACnD,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YAC3D,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
@@ -1,18 +1,19 @@
1
- import { Interface, Model, ModelProperty, Namespace, Operation, Program, Scalar } from "@typespec/compiler";
1
+ import { Enum, EnumMember, Interface, Model, ModelProperty, Namespace, Operation, Program, Scalar, Union, UnionVariant } from "@typespec/compiler";
2
+ type DeclarableType = Namespace | Model | ModelProperty | Enum | EnumMember | Union | UnionVariant | Scalar | Operation | Interface;
2
3
  /**
3
4
  * Returns the full namespace name for the given type, if available.
4
5
  * @param program the TypeSpec program
5
6
  * @param type the type to query
6
7
  * @returns The name of the namespace the type belongs in.
7
8
  */
8
- export declare function getNamespaceName(program: Program, type: Model | Scalar | Operation | ModelProperty | Interface | Namespace | undefined): string;
9
+ export declare function getNamespaceName(program: Program, type: DeclarableType | undefined): string;
9
10
  /**
10
11
  * Returns true if the type is defined in a namespace that is excluded from linting.
11
12
  * @param program the TypeSpec program
12
13
  * @param type the type to query
13
14
  * @returns true if the type is defined in a namespace that is excluded from linting.
14
15
  */
15
- export declare function isExcludedCoreType(program: Program, type: Model | Scalar | Operation | ModelProperty | Interface | Namespace): boolean;
16
+ export declare function isExcludedCoreType(program: Program, type: DeclarableType): boolean;
16
17
  /**
17
18
  * Returns true if the model type is inline (has no name).
18
19
  * @param target the target model
@@ -56,4 +57,5 @@ export declare function isCamelCaseNoAcronyms(name: string): boolean;
56
57
  * @returns boolean indicating whether the provided model is in the Azure namespace.
57
58
  */
58
59
  export declare function isInAzureNamespace(program: Program, context: Model | Scalar | Operation | ModelProperty | Interface | Namespace | undefined): boolean;
60
+ export {};
59
61
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/rules/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EACT,KAAK,EACL,aAAa,EACb,SAAS,EACT,SAAS,EACT,OAAO,EACP,MAAM,EAEP,MAAM,oBAAoB,CAAC;AAE5B;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GACnF,MAAM,CAQR;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,SAAS,GACvE,OAAO,CAcT;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,KAAK,WAE1C;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,KAAK,kBAEtD;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,SAAS,2BAO9D;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,SAAS,WAM9D;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAG5D;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAG3D;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GACtF,OAAO,CAET"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/rules/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,UAAU,EAEV,SAAS,EACT,KAAK,EACL,aAAa,EACb,SAAS,EACT,SAAS,EACT,OAAO,EACP,MAAM,EAEN,KAAK,EACL,YAAY,EACb,MAAM,oBAAoB,CAAC;AAE5B,KAAK,cAAc,GACf,SAAS,GACT,KAAK,GACL,aAAa,GACb,IAAI,GACJ,UAAU,GACV,KAAK,GACL,YAAY,GACZ,MAAM,GACN,SAAS,GACT,SAAS,CAAC;AAEd;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,GAAG,SAAS,GAAG,MAAM,CAW3F;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAclF;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,KAAK,WAE1C;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,KAAK,kBAEtD;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,SAAS,2BAO9D;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,SAAS,WAM9D;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAG5D;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAG3D;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GACtF,OAAO,CAET"}
@@ -10,11 +10,16 @@ export function getNamespaceName(program, type) {
10
10
  return "";
11
11
  if (type.kind === "ModelProperty")
12
12
  return type.model ? getNamespaceName(program, type.model) : "";
13
+ if (type.kind === "EnumMember")
14
+ return type.enum ? getNamespaceName(program, type.enum) : "";
15
+ if (type.kind === "UnionVariant")
16
+ return type.union ? getNamespaceName(program, type.union) : "";
13
17
  if (type.kind !== "Namespace")
14
18
  type = type.namespace;
15
19
  if (type === undefined) {
16
20
  return "";
17
21
  }
22
+ getNamespaceFullName;
18
23
  return getNamespaceFullName(type);
19
24
  }
20
25
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/rules/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EAQpB,UAAU,GACX,MAAM,oBAAoB,CAAC;AAE5B;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAgB,EAChB,IAAoF;IAEpF,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAClC,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAClG,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW;QAAE,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;IACrD,IAAI,IAAI,KAAK,SAAS,EAAE;QACtB,OAAO,EAAE,CAAC;KACX;IACD,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAgB,EAChB,IAAwE;IAExE,8DAA8D;IAC9D,0EAA0E;IAC1E,8BAA8B;IAC9B,EAAE;IACF,sEAAsE;IACtE,yEAAyE;IACzE,6BAA6B;IAC7B,EAAE;IACF,6EAA6E;IAC7E,EAAE;IACF,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC/C,MAAM,iBAAiB,GAAG,CAAC,UAAU,EAAE,YAAY,EAAE,uBAAuB,EAAE,SAAS,CAAC,CAAC;IACzF,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,SAAS,CAAC;AACvF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,MAAa;IACzC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;AACtB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAAa;;IACrD,OAAO,CAAA,MAAA,MAAM,CAAC,IAAI,0CAAE,IAAI,MAAK,UAAU,CAAC,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;AAClG,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,6BAA6B,CAAC,MAAiB;;IAC7D,OAAO,CACL,CAAA,MAAA,MAAM,CAAC,IAAI,0CAAE,IAAI,MAAK,UAAU,CAAC,kBAAkB;QACnD,MAAM,CAAC,SAAS;QAChB,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM;QAC/C,CAAC,CAAA,MAAA,MAAM,CAAC,SAAS,CAAC,iBAAiB,0CAAE,MAAM,CAAA,CAC5C,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,6BAA6B,CAAC,MAAiB;;IAC7D,OAAO,CACL,CAAA,MAAA,MAAM,CAAC,IAAI,0CAAE,IAAI,MAAK,UAAU,CAAC,kBAAkB;QACnD,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC;QACzC,CAAC,CAAA,MAAA,MAAM,CAAC,iBAAiB,0CAAE,MAAM,CAAA,CAClC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IACpE,OAAO,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IACpE,OAAO,yCAAyC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAgB,EAChB,OAAuF;IAEvF,OAAO,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAChE,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/rules/utils.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,EAET,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,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
+ {"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,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,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,6 +1,6 @@
1
- import { getTypeName, isNeverType, setTypeSpecNamespace, validateDecoratorParamType, } from "@typespec/compiler";
1
+ import { getTypeName, 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,10 +252,6 @@ setTypeSpecNamespace("Traits.Private", $addTraitProperties);
260
252
  // unique envelope property name.
261
253
  let traitOverrideCounter = 1;
262
254
  export function $applyTraitOverride(context, target, traitModel) {
263
- // Until versioning fix never types with pre projection https://github.com/microsoft/typespec/issues/1500
264
- if (isNeverType(traitModel)) {
265
- return;
266
- }
267
255
  if (traitModel.properties.size !== 1) {
268
256
  // The @trait decorator has already raised a diagnostic so skip it.
269
257
  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
@@ -120,12 +120,12 @@ model ConditionalRequestHeaders {
120
120
  @visibility("read", "query", "create", "update", "delete")
121
121
  @header("If-Unmodified-Since")
122
122
  @doc("The request should only proceed if the entity was not modified after this time.")
123
- ifUnmodifiedSince?: zonedDateTime;
123
+ ifUnmodifiedSince?: utcDateTime;
124
124
 
125
125
  @visibility("read", "query", "create", "update", "delete")
126
126
  @header("If-Modified-Since")
127
127
  @doc("The request should only proceed if the entity was modified after this time.")
128
- ifModifiedSince?: zonedDateTime;
128
+ ifModifiedSince?: utcDateTime;
129
129
  }
130
130
 
131
131
  @doc("""
@@ -158,7 +158,7 @@ model RepeatabilityRequestHeaders {
158
158
  @visibility("create", "update", "delete")
159
159
  @doc("Specifies the date and time at which the request was first created.")
160
160
  @header("Repeatability-First-Sent")
161
- repeatabilityFirstSent?: zonedDateTime;
161
+ repeatabilityFirstSent?: utcDateTime;
162
162
  }
163
163
 
164
164
  @doc("Provides the 'Repeatability-*' headers to enable repeatable requests.")
@@ -15,11 +15,12 @@ using Azure.Core.Traits.Private;
15
15
  // RPC Operations
16
16
 
17
17
  @Foundations.Private.needsRoute
18
- op RpcOperation<TParams, TResponse, Traits extends object = {}> is Foundations.Operation<
18
+ op RpcOperation<
19
19
  TParams,
20
20
  TResponse,
21
- Traits
22
- >;
21
+ Traits extends object = {},
22
+ TErrorResponse = Azure.Core.Foundations.ErrorResponse
23
+ > is Foundations.Operation<TParams, TResponse, Traits, TErrorResponse>;
23
24
 
24
25
  // Standard Resource Lifecycle Operations
25
26
 
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.29.0-dev.9",
3
+ "version": "0.30.0-dev.1",
4
4
  "author": "Microsoft Corporation",
5
5
  "description": "TypeSpec Azure Core library",
6
6
  "homepage": "https://azure.github.io/typespec-azure",
@@ -42,21 +42,21 @@
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.43.0",
46
+ "@typespec/http": ">=0.43.0",
47
+ "@typespec/rest": ">=0.43.0"
48
48
  },
49
49
  "dependencies": {
50
- "@typespec/lint": ">=0.42.0"
50
+ "@typespec/lint": ">=0.43.0"
51
51
  },
52
52
  "devDependencies": {
53
- "@typespec/compiler": ">=0.42.0",
54
- "@typespec/http": ">=0.42.0",
55
- "@typespec/rest": ">=0.42.0",
53
+ "@typespec/compiler": ">=0.43.0",
54
+ "@typespec/http": ">=0.43.0",
55
+ "@typespec/rest": ">=0.43.0",
56
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",
57
+ "@typespec/library-linter": ">=0.43.0",
58
+ "@typespec/eslint-plugin": ">=0.43.0",
59
+ "@typespec/versioning": ">=0.43.0",
60
60
  "@types/mocha": "~10.0.0",
61
61
  "@types/node": "~18.11.9",
62
62
  "eslint": "^8.12.0",