@azure-tools/typespec-azure-core 0.37.0-dev.0 → 0.37.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.
Files changed (39) hide show
  1. package/README.md +56 -0
  2. package/dist/src/decorators.d.ts +10 -0
  3. package/dist/src/decorators.d.ts.map +1 -1
  4. package/dist/src/decorators.js +18 -1
  5. package/dist/src/decorators.js.map +1 -1
  6. package/dist/src/helpers/union-enums.d.ts +71 -0
  7. package/dist/src/helpers/union-enums.d.ts.map +1 -0
  8. package/dist/src/helpers/union-enums.js +162 -0
  9. package/dist/src/helpers/union-enums.js.map +1 -0
  10. package/dist/src/index.d.ts +1 -0
  11. package/dist/src/index.d.ts.map +1 -1
  12. package/dist/src/index.js +1 -0
  13. package/dist/src/index.js.map +1 -1
  14. package/dist/src/lib.d.ts +47 -2
  15. package/dist/src/lib.d.ts.map +1 -1
  16. package/dist/src/lib.js +23 -0
  17. package/dist/src/lib.js.map +1 -1
  18. package/dist/src/lro-helpers.d.ts +22 -3
  19. package/dist/src/lro-helpers.d.ts.map +1 -1
  20. package/dist/src/lro-helpers.js +76 -16
  21. package/dist/src/lro-helpers.js.map +1 -1
  22. package/dist/src/lro-info.d.ts.map +1 -1
  23. package/dist/src/lro-info.js +6 -5
  24. package/dist/src/lro-info.js.map +1 -1
  25. package/dist/src/rules/byos.js +1 -1
  26. package/dist/src/rules/byos.js.map +1 -1
  27. package/dist/src/rules/no-closed-literal-union.d.ts +4 -0
  28. package/dist/src/rules/no-closed-literal-union.d.ts.map +1 -0
  29. package/dist/src/rules/no-closed-literal-union.js +27 -0
  30. package/dist/src/rules/no-closed-literal-union.js.map +1 -0
  31. package/dist/src/rules/no-enum.d.ts +4 -0
  32. package/dist/src/rules/no-enum.d.ts.map +1 -0
  33. package/dist/src/rules/no-enum.js +21 -0
  34. package/dist/src/rules/no-enum.js.map +1 -0
  35. package/dist/src/rules/response-schema-multi-status-code.js +1 -1
  36. package/dist/src/rules/response-schema-multi-status-code.js.map +1 -1
  37. package/lib/decorators.tsp +8 -0
  38. package/lib/models.tsp +10 -0
  39. package/package.json +2 -1
package/README.md CHANGED
@@ -8,6 +8,62 @@ TypeSpec Azure Core library
8
8
  npm install @azure-tools/typespec-azure-core
9
9
  ```
10
10
 
11
+ ## Linter
12
+
13
+ ### Usage
14
+
15
+ Add the following in `tspconfig.yaml`:
16
+
17
+ ```yaml
18
+ linter:
19
+ extends:
20
+ - "@azure-tools/typespec-azure-core/all"
21
+ ```
22
+
23
+ ### RuleSets
24
+
25
+ Available ruleSets:
26
+
27
+ - [`@azure-tools/typespec-azure-core/all`](#@azure-tools/typespec-azure-core/all)
28
+
29
+ ### Rules
30
+
31
+ | Name | Description |
32
+ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
33
+ | `@azure-tools/typespec-azure-core/operation-missing-api-version` | Operations need an api version parameter. |
34
+ | `@azure-tools/typespec-azure-core/auth-required` | Enforce service authentication. |
35
+ | `@azure-tools/typespec-azure-core/no-operation-id` | Operation ID is automatically generated by the OpenAPI emitters and should not normally be specified. |
36
+ | `@azure-tools/typespec-azure-core/request-body-problem` | Request body should not be of raw array type. |
37
+ | `@azure-tools/typespec-azure-core/byos` | Use the BYOS pattern recommended for Azure Services. |
38
+ | `@azure-tools/typespec-azure-core/casing-style` | Ensure proper casing style. |
39
+ | `@azure-tools/typespec-azure-core/spread-discriminated-model` | Check a model with a discriminator has not been used in composition. |
40
+ | `@azure-tools/typespec-azure-core/composition-over-inheritance` | Check that if a model is used in an operation and has derived models that it has a discriminator or recommend to use composition via spread or `is`. |
41
+ | `@azure-tools/typespec-azure-core/prefer-csv-collection-format` | It is recommended to use "csv" for collection format of parameters. |
42
+ | `@azure-tools/typespec-azure-core/use-extensible-enum` | Enums should be extensible. |
43
+ | `@azure-tools/typespec-azure-core/known-encoding` | Check for supported encodings. |
44
+ | `@azure-tools/typespec-azure-core/use-standard-operations` | Operations should be defined using a signature from the Azure.Core namespace. |
45
+ | [`@azure-tools/typespec-azure-core/no-closed-literal-union`](https://azure.github.io/typespec-azure/docs/libraries/azure-core/rules/no-closed-literal-union) | Unions of literals should include the base scalar type to mark them as open enum. |
46
+ | [`@azure-tools/typespec-azure-core/no-enum`](https://azure.github.io/typespec-azure/docs/libraries/azure-core/rules/no-enum) | Azure services should not use enums. |
47
+ | `@azure-tools/typespec-azure-core/no-error-status-codes` | Recommend using the error response defined by Azure REST API guidelines. |
48
+ | `@azure-tools/typespec-azure-core/no-fixed-enum-discriminator` | Discriminator shouldn't be a fixed enum. |
49
+ | `@azure-tools/typespec-azure-core/no-nullable` | Use `?` for optional properties. |
50
+ | `@azure-tools/typespec-azure-core/no-offsetdatetime` | Prefer using `utcDateTime` when representing a datetime unless an offset is necessary. |
51
+ | `@azure-tools/typespec-azure-core/no-rpc-path-params` | Operations defined using RpcOperation should not have path parameters. |
52
+ | `@azure-tools/typespec-azure-core/no-explicit-routes-resource-ops` | The @route decorator should not be used on standard resource operation signatures. |
53
+ | `@azure-tools/typespec-azure-core/no-response-body` | Ensure that the body is set correctly for the response type. |
54
+ | `@azure-tools/typespec-azure-core/no-format` | Azure services should not use the `@format` decorator. |
55
+ | `@azure-tools/typespec-azure-core/no-multiple-discriminator` | Classes should have at most one discriminator. |
56
+ | `@azure-tools/typespec-azure-core/no-rest-library-interfaces` | Resource interfaces from the TypeSpec.Rest.Resource library are incompatible with Azure.Core. |
57
+ | `@azure-tools/typespec-azure-core/no-unknown` | Azure services must not have properties of type `unknown`. |
58
+ | `@azure-tools/typespec-azure-core/bad-record-type` | Identify bad record definitions. |
59
+ | `@azure-tools/typespec-azure-core/response-schema-problem` | Warn about operations having multiple non-error response schemas. |
60
+ | `@azure-tools/typespec-azure-core/property-name-conflict` | Avoid naming conflicts. |
61
+ | `@azure-tools/typespec-azure-core/rpc-operation-request-body` | Warning for RPC body problems. |
62
+ | `@azure-tools/typespec-azure-core/documentation-required` | Require documentation over enums, models, and operations. |
63
+ | `@azure-tools/typespec-azure-core/key-visibility-required` | Key properties need to have an explicit visibility setting. |
64
+ | `@azure-tools/typespec-azure-core/long-running-polling-operation-required` | Long-running operations should have a linked polling operation. |
65
+ | `@azure-tools/typespec-azure-core/use-standard-names` | Use recommended names for operations. |
66
+
11
67
  ## Decorators
12
68
 
13
69
  ### Azure.Core
@@ -149,4 +149,14 @@ export declare function $needsRoute(context: DecoratorContext, entity: Operation
149
149
  export declare function checkRpcRoutes(program: Program): void;
150
150
  export declare function $ensureVerb(context: DecoratorContext, entity: Operation, templateName: string, verb: string): void;
151
151
  export declare function checkEnsureVerb(program: Program): void;
152
+ export interface EmbeddingVectorMetadata {
153
+ elementType: Type;
154
+ }
155
+ /**
156
+ * If the provided model is an embedding vector, returns the appropriate metadata; otherwise,
157
+ * returns undefined.
158
+ * @param model the model to query
159
+ * @returns `EmbeddingVectorMetadata`, if applicable, or undefined.
160
+ */
161
+ export declare function getAsEmbeddingVector(program: Program, model: Model): EmbeddingVectorMetadata | undefined;
152
162
  //# sourceMappingURL=decorators.d.ts.map
@@ -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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"}
@@ -713,6 +713,23 @@ export function checkEnsureVerb(program) {
713
713
  }
714
714
  }
715
715
  }
716
+ const embeddingVectorKey = createStateSymbol("embeddingVector");
717
+ /** @internal */
718
+ export function $embeddingVector(context, entity, elementType) {
719
+ const metadata = {
720
+ elementType: elementType,
721
+ };
722
+ context.program.stateMap(embeddingVectorKey).set(entity, metadata);
723
+ }
724
+ /**
725
+ * If the provided model is an embedding vector, returns the appropriate metadata; otherwise,
726
+ * returns undefined.
727
+ * @param model the model to query
728
+ * @returns `EmbeddingVectorMetadata`, if applicable, or undefined.
729
+ */
730
+ export function getAsEmbeddingVector(program, model) {
731
+ return program.stateMap(embeddingVectorKey).get(model);
732
+ }
716
733
  setTypeSpecNamespace("Foundations", $omitKeyProperties, $requestParameter, $responseProperty);
717
- setTypeSpecNamespace("Foundations.Private", $spreadCustomResponseProperties, $spreadCustomParameters, $ensureResourceType, $needsRoute, $ensureVerb);
734
+ setTypeSpecNamespace("Foundations.Private", $spreadCustomResponseProperties, $spreadCustomParameters, $ensureResourceType, $needsRoute, $ensureVerb, $embeddingVector);
718
735
  //# sourceMappingURL=decorators.js.map
@@ -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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"}
@@ -0,0 +1,71 @@
1
+ import { Diagnostic, Union, UnionVariant } from "@typespec/compiler";
2
+ export interface UnionEnumBase<K extends string, T> {
3
+ kind: K;
4
+ /** Reference to the type used to construct this enum */
5
+ union: Union;
6
+ /** Member of this enum. */
7
+ members: Map<string | symbol, UnionEnumVariant<T>>;
8
+ /** Any union used as a union variant. */
9
+ include: UnionEnumBase<K, T>;
10
+ /** Flattened member of this enum, this is the {@see members} with the members of the {@see include} union flattened inside. */
11
+ flattenedMembers: Map<string | symbol, UnionEnumVariant<T>>;
12
+ /** If the enum is open. */
13
+ open: boolean;
14
+ /** If the union included null as a variant */
15
+ nullable: boolean;
16
+ }
17
+ export interface UnionEnumVariant<T> {
18
+ value: T;
19
+ /** Reference to the type used to construct this enum */
20
+ variant: UnionVariant;
21
+ }
22
+ export type UnionEnum = UnionEnumBase<"string", string> | UnionEnumBase<"number", number>;
23
+ /**
24
+ * Tries to convert a union into an enum.
25
+ * If the union only contains the same type of literal options with optionally
26
+ * the base scalar to mark extensibility we can represent this union as an enum of that type.
27
+ *
28
+ * @param union Union to try to convert
29
+ *
30
+ * @example
31
+ *
32
+ * Simple closed string enum
33
+ *
34
+ * ```tsp
35
+ * union PetKind { "cat", "dog" }
36
+ * ```
37
+ *
38
+ * ```ts
39
+ * const [enum, diagnostics] = getUnionAsEnum(union);
40
+ * enum.open === false
41
+ * enum.open.members.get("cat") // { value: "cat", variant: ... }
42
+ * enum.open.members.get("dog") // { value: "dog", variant: ... }
43
+ * ```
44
+ *
45
+ * Simple open string enum
46
+ *
47
+ * ```tsp
48
+ * union PetKind { Cat: "cat", Dog: "dog", string }
49
+ * ```
50
+ *
51
+ * ```ts
52
+ * const [enum, diagnostics] = getUnionAsEnum(union);
53
+ * enum.open === true
54
+ * enum.open.members.get("Cat") // { value: "cat", variant: ... }
55
+ * enum.open.members.get("Dog") // { value: "dog", variant: ... }
56
+ * ```
57
+ *
58
+ * Invalid case
59
+ *
60
+ * ```tsp
61
+ * union PetKind { Cat: "cat", Dog: 123, string }
62
+ * ```
63
+ *
64
+ * ```ts
65
+ * const [enum, diagnostics] = getUnionAsEnum(union);
66
+ * enum === undefined
67
+ * diagnostics.length === 1
68
+ * ```
69
+ */
70
+ export declare function getUnionAsEnum(union: Union): [UnionEnum | undefined, readonly Diagnostic[]];
71
+ //# sourceMappingURL=union-enums.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"union-enums.d.ts","sourceRoot":"","sources":["../../../src/helpers/union-enums.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAEV,KAAK,EACL,YAAY,EAGb,MAAM,oBAAoB,CAAC;AAG5B,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC;IAChD,IAAI,EAAE,CAAC,CAAC;IACR,wDAAwD;IACxD,KAAK,EAAE,KAAK,CAAC;IACb,2BAA2B;IAC3B,OAAO,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,yCAAyC;IACzC,OAAO,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7B,+HAA+H;IAC/H,gBAAgB,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,2BAA2B;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,8CAA8C;IAC9C,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,KAAK,EAAE,CAAC,CAAC;IACT,wDAAwD;IACxD,OAAO,EAAE,YAAY,CAAC;CACvB;AAED,MAAM,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAE1F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,SAAS,GAAG,SAAS,EAAE,SAAS,UAAU,EAAE,CAAC,CAE3F"}
@@ -0,0 +1,162 @@
1
+ import { createDiagnosticCollector, isNullType, } from "@typespec/compiler";
2
+ import { createDiagnostic } from "../lib.js";
3
+ /**
4
+ * Tries to convert a union into an enum.
5
+ * If the union only contains the same type of literal options with optionally
6
+ * the base scalar to mark extensibility we can represent this union as an enum of that type.
7
+ *
8
+ * @param union Union to try to convert
9
+ *
10
+ * @example
11
+ *
12
+ * Simple closed string enum
13
+ *
14
+ * ```tsp
15
+ * union PetKind { "cat", "dog" }
16
+ * ```
17
+ *
18
+ * ```ts
19
+ * const [enum, diagnostics] = getUnionAsEnum(union);
20
+ * enum.open === false
21
+ * enum.open.members.get("cat") // { value: "cat", variant: ... }
22
+ * enum.open.members.get("dog") // { value: "dog", variant: ... }
23
+ * ```
24
+ *
25
+ * Simple open string enum
26
+ *
27
+ * ```tsp
28
+ * union PetKind { Cat: "cat", Dog: "dog", string }
29
+ * ```
30
+ *
31
+ * ```ts
32
+ * const [enum, diagnostics] = getUnionAsEnum(union);
33
+ * enum.open === true
34
+ * enum.open.members.get("Cat") // { value: "cat", variant: ... }
35
+ * enum.open.members.get("Dog") // { value: "dog", variant: ... }
36
+ * ```
37
+ *
38
+ * Invalid case
39
+ *
40
+ * ```tsp
41
+ * union PetKind { Cat: "cat", Dog: 123, string }
42
+ * ```
43
+ *
44
+ * ```ts
45
+ * const [enum, diagnostics] = getUnionAsEnum(union);
46
+ * enum === undefined
47
+ * diagnostics.length === 1
48
+ * ```
49
+ */
50
+ export function getUnionAsEnum(union) {
51
+ return getUnionAsEnumInternal(union, new Set());
52
+ }
53
+ function getUnionAsEnumInternal(union, visited) {
54
+ if (visited.has(union)) {
55
+ return [undefined, [createDiagnostic({ code: "union-enums-circular", target: union })]];
56
+ }
57
+ visited.add(union);
58
+ const diagnostics = createDiagnosticCollector();
59
+ function reportInvalidKind(type) {
60
+ diagnostics.add(createDiagnostic({
61
+ code: "union-enums-invalid-kind",
62
+ format: { kind: type.kind },
63
+ target: union,
64
+ }));
65
+ }
66
+ const kinds = new Set();
67
+ const members = new Map();
68
+ const flattenedMembers = new Map();
69
+ let open = false;
70
+ let nullable = false;
71
+ for (const variant of union.variants.values()) {
72
+ switch (variant.type.kind) {
73
+ case "Intrinsic":
74
+ if (isNullType(variant.type)) {
75
+ nullable = true;
76
+ }
77
+ else {
78
+ reportInvalidKind(variant.type);
79
+ }
80
+ break;
81
+ case "String":
82
+ kinds.add("string");
83
+ members.set(variant.name, { value: variant.type.value, variant });
84
+ break;
85
+ case "Number":
86
+ kinds.add("number");
87
+ members.set(variant.name, { value: variant.type.value, variant });
88
+ break;
89
+ case "Union":
90
+ const parentUnion = diagnostics.pipe(getUnionAsEnumInternal(variant.type, visited));
91
+ if (parentUnion !== undefined) {
92
+ kinds.add(parentUnion.kind);
93
+ if (parentUnion.open) {
94
+ open = true;
95
+ }
96
+ if (parentUnion.nullable) {
97
+ nullable = true;
98
+ }
99
+ for (const [key, value] of parentUnion.flattenedMembers) {
100
+ flattenedMembers.set(key, value);
101
+ }
102
+ }
103
+ break;
104
+ case "Scalar":
105
+ const scalar = variant.type;
106
+ switch (scalar.name) {
107
+ case "string":
108
+ kinds.add("string");
109
+ open = true;
110
+ break;
111
+ case "float":
112
+ case "float32":
113
+ case "float64":
114
+ case "integer":
115
+ case "int8":
116
+ case "int16":
117
+ case "int32":
118
+ case "int64":
119
+ case "uint8":
120
+ case "uint16":
121
+ case "uint32":
122
+ case "uint64":
123
+ kinds.add("number");
124
+ open = true;
125
+ break;
126
+ default:
127
+ reportInvalidKind(variant.type);
128
+ }
129
+ break;
130
+ default:
131
+ reportInvalidKind(variant.type);
132
+ }
133
+ }
134
+ for (const [key, value] of members) {
135
+ flattenedMembers.set(key, value);
136
+ }
137
+ if (kinds.size > 1) {
138
+ diagnostics.add(createDiagnostic({
139
+ code: "union-enums-multiple-kind",
140
+ format: { kinds: [...kinds].join(", ") },
141
+ target: union,
142
+ }));
143
+ }
144
+ if (diagnostics.diagnostics.length > 0) {
145
+ return diagnostics.wrap(undefined);
146
+ }
147
+ if (flattenedMembers.size === 0) {
148
+ return [undefined, []];
149
+ }
150
+ return [
151
+ {
152
+ kind: [...kinds][0],
153
+ union,
154
+ members,
155
+ flattenedMembers,
156
+ open,
157
+ nullable,
158
+ },
159
+ [],
160
+ ];
161
+ }
162
+ //# sourceMappingURL=union-enums.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"union-enums.js","sourceRoot":"","sources":["../../../src/helpers/union-enums.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  export * from "./decorators.js";
2
2
  export { $lib } from "./lib.js";
3
+ export { UnionEnum, getUnionAsEnum } from "./helpers/union-enums.js";
3
4
  export * from "./lro-helpers.js";
4
5
  export * from "./rules/prevent-rest-library.js";
5
6
  export * from "./rules/use-standard-ops.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACrE,cAAc,kBAAkB,CAAC;AACjC,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC"}
package/dist/src/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from "./decorators.js";
2
2
  export { $lib } from "./lib.js";
3
+ export { getUnionAsEnum } from "./helpers/union-enums.js";
3
4
  export * from "./lro-helpers.js";
4
5
  export * from "./rules/prevent-rest-library.js";
5
6
  export * from "./rules/use-standard-ops.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,OAAO,EAAa,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACrE,cAAc,kBAAkB,CAAC;AACjC,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC"}
package/dist/src/lib.d.ts CHANGED
@@ -95,8 +95,17 @@ export declare const $lib: import("@typespec/compiler").TypeSpecLibrary<{
95
95
  "rpc-operation-needs-route": {
96
96
  default: string;
97
97
  };
98
+ "union-enums-multiple-kind": {
99
+ default: import("@typespec/compiler").CallableMessage<[string]>;
100
+ };
101
+ "union-enums-invalid-kind": {
102
+ default: import("@typespec/compiler").CallableMessage<[string]>;
103
+ };
104
+ "union-enums-circular": {
105
+ default: string;
106
+ };
98
107
  }, Record<string, any>>;
99
- export declare const reportDiagnostic: <C extends "bad-record-type" | "lro-status-union-non-string" | "lro-status-property-invalid-type" | "lro-status-missing" | "lro-status-monitor-invalid-result-property" | "request-parameter-invalid" | "response-property-invalid" | "operation-link-parameter-invalid" | "operation-link-parameter-invalid-target" | "invalid-resource-type" | "polling-operation-return-model" | "polling-operation-no-status-monitor" | "polling-operation-no-lro-success" | "polling-operation-no-lro-failure" | "polling-operation-no-ref-or-link" | "invalid-final-operation" | "invalid-trait-property-count" | "invalid-trait-property-type" | "invalid-trait-context" | "trait-property-without-location" | "expected-trait-missing" | "client-request-id-trait-missing" | "repeatable-requests-trait-missing" | "conditional-requests-trait-missing" | "expected-trait-diagnostic-missing" | "invalid-parameter" | "expected-success-response" | "lro-polling-data-missing-from-operation-response" | "no-object" | "verb-conflict" | "rpc-operation-needs-route", M extends keyof {
108
+ export declare const reportDiagnostic: <C extends "lro-status-union-non-string" | "lro-status-property-invalid-type" | "lro-status-missing" | "lro-status-monitor-invalid-result-property" | "bad-record-type" | "request-parameter-invalid" | "response-property-invalid" | "operation-link-parameter-invalid" | "operation-link-parameter-invalid-target" | "invalid-resource-type" | "polling-operation-return-model" | "polling-operation-no-status-monitor" | "polling-operation-no-lro-success" | "polling-operation-no-lro-failure" | "polling-operation-no-ref-or-link" | "invalid-final-operation" | "invalid-trait-property-count" | "invalid-trait-property-type" | "invalid-trait-context" | "trait-property-without-location" | "expected-trait-missing" | "client-request-id-trait-missing" | "repeatable-requests-trait-missing" | "conditional-requests-trait-missing" | "expected-trait-diagnostic-missing" | "invalid-parameter" | "expected-success-response" | "lro-polling-data-missing-from-operation-response" | "no-object" | "verb-conflict" | "rpc-operation-needs-route" | "union-enums-multiple-kind" | "union-enums-invalid-kind" | "union-enums-circular", M extends keyof {
100
109
  "lro-status-union-non-string": {
101
110
  default: import("@typespec/compiler").CallableMessage<[string]>;
102
111
  };
@@ -192,6 +201,15 @@ export declare const reportDiagnostic: <C extends "bad-record-type" | "lro-statu
192
201
  "rpc-operation-needs-route": {
193
202
  default: string;
194
203
  };
204
+ "union-enums-multiple-kind": {
205
+ default: import("@typespec/compiler").CallableMessage<[string]>;
206
+ };
207
+ "union-enums-invalid-kind": {
208
+ default: import("@typespec/compiler").CallableMessage<[string]>;
209
+ };
210
+ "union-enums-circular": {
211
+ default: string;
212
+ };
195
213
  }[C]>(program: import("@typespec/compiler").Program, diag: import("@typespec/compiler").DiagnosticReport<{
196
214
  "lro-status-union-non-string": {
197
215
  default: import("@typespec/compiler").CallableMessage<[string]>;
@@ -288,7 +306,16 @@ export declare const reportDiagnostic: <C extends "bad-record-type" | "lro-statu
288
306
  "rpc-operation-needs-route": {
289
307
  default: string;
290
308
  };
291
- }, C, M>) => void, createDiagnostic: <C extends "bad-record-type" | "lro-status-union-non-string" | "lro-status-property-invalid-type" | "lro-status-missing" | "lro-status-monitor-invalid-result-property" | "request-parameter-invalid" | "response-property-invalid" | "operation-link-parameter-invalid" | "operation-link-parameter-invalid-target" | "invalid-resource-type" | "polling-operation-return-model" | "polling-operation-no-status-monitor" | "polling-operation-no-lro-success" | "polling-operation-no-lro-failure" | "polling-operation-no-ref-or-link" | "invalid-final-operation" | "invalid-trait-property-count" | "invalid-trait-property-type" | "invalid-trait-context" | "trait-property-without-location" | "expected-trait-missing" | "client-request-id-trait-missing" | "repeatable-requests-trait-missing" | "conditional-requests-trait-missing" | "expected-trait-diagnostic-missing" | "invalid-parameter" | "expected-success-response" | "lro-polling-data-missing-from-operation-response" | "no-object" | "verb-conflict" | "rpc-operation-needs-route", M extends keyof {
309
+ "union-enums-multiple-kind": {
310
+ default: import("@typespec/compiler").CallableMessage<[string]>;
311
+ };
312
+ "union-enums-invalid-kind": {
313
+ default: import("@typespec/compiler").CallableMessage<[string]>;
314
+ };
315
+ "union-enums-circular": {
316
+ default: string;
317
+ };
318
+ }, C, M>) => void, createDiagnostic: <C extends "lro-status-union-non-string" | "lro-status-property-invalid-type" | "lro-status-missing" | "lro-status-monitor-invalid-result-property" | "bad-record-type" | "request-parameter-invalid" | "response-property-invalid" | "operation-link-parameter-invalid" | "operation-link-parameter-invalid-target" | "invalid-resource-type" | "polling-operation-return-model" | "polling-operation-no-status-monitor" | "polling-operation-no-lro-success" | "polling-operation-no-lro-failure" | "polling-operation-no-ref-or-link" | "invalid-final-operation" | "invalid-trait-property-count" | "invalid-trait-property-type" | "invalid-trait-context" | "trait-property-without-location" | "expected-trait-missing" | "client-request-id-trait-missing" | "repeatable-requests-trait-missing" | "conditional-requests-trait-missing" | "expected-trait-diagnostic-missing" | "invalid-parameter" | "expected-success-response" | "lro-polling-data-missing-from-operation-response" | "no-object" | "verb-conflict" | "rpc-operation-needs-route" | "union-enums-multiple-kind" | "union-enums-invalid-kind" | "union-enums-circular", M extends keyof {
292
319
  "lro-status-union-non-string": {
293
320
  default: import("@typespec/compiler").CallableMessage<[string]>;
294
321
  };
@@ -384,6 +411,15 @@ export declare const reportDiagnostic: <C extends "bad-record-type" | "lro-statu
384
411
  "rpc-operation-needs-route": {
385
412
  default: string;
386
413
  };
414
+ "union-enums-multiple-kind": {
415
+ default: import("@typespec/compiler").CallableMessage<[string]>;
416
+ };
417
+ "union-enums-invalid-kind": {
418
+ default: import("@typespec/compiler").CallableMessage<[string]>;
419
+ };
420
+ "union-enums-circular": {
421
+ default: string;
422
+ };
387
423
  }[C]>(diag: import("@typespec/compiler").DiagnosticReport<{
388
424
  "lro-status-union-non-string": {
389
425
  default: import("@typespec/compiler").CallableMessage<[string]>;
@@ -480,5 +516,14 @@ export declare const reportDiagnostic: <C extends "bad-record-type" | "lro-statu
480
516
  "rpc-operation-needs-route": {
481
517
  default: string;
482
518
  };
519
+ "union-enums-multiple-kind": {
520
+ default: import("@typespec/compiler").CallableMessage<[string]>;
521
+ };
522
+ "union-enums-invalid-kind": {
523
+ default: import("@typespec/compiler").CallableMessage<[string]>;
524
+ };
525
+ "union-enums-circular": {
526
+ default: string;
527
+ };
483
528
  }, C, M>) => import("@typespec/compiler").Diagnostic, createStateSymbol: (name: string) => symbol;
484
529
  //# sourceMappingURL=lib.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAkCA,eAAO,MAAM,SAAS,eAAe,CAAC;AAEtC,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAmRf,CAAC;AAEH,eAAO,MAAQ,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAE,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sDAAE,iBAAiB,0BAAS,CAAC"}
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAoCA,eAAO,MAAM,SAAS,eAAe,CAAC;AAEtC,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAwSf,CAAC;AAEH,eAAO,MAAQ,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAE,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sDAAE,iBAAiB,0BAAS,CAAC"}