@typespec/json-schema 0.59.0-dev.0 → 0.59.0-dev.2

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
@@ -194,13 +194,23 @@ media type and encoding.
194
194
  #### `@extension`
195
195
 
196
196
  Specify a custom property to add to the emitted schema. Useful for adding custom keywords
197
- and other vendor-specific extensions. The value will be converted to a schema unless the parameter
198
- is wrapped in the `Json<Data>` template. For example, `@extension("x-schema", { x: "value" })` will
199
- emit a JSON schema value for `x-schema`, whereas `@extension("x-schema", Json<{x: "value"}>)` will
200
- emit the raw JSON code `{x: "value"}`.
197
+ and other vendor-specific extensions. Scalar values need to be specified using `typeof` to be converted to a schema.
198
+
199
+ For example, `@extension("x-schema", typeof "foo")` will emit a JSON schema value for `x-schema`,
200
+ whereas `@extension("x-schema", "foo")` will emit the raw code `"foo"`.
201
+
202
+ The value will be treated as a raw value if any of the following are true:
203
+
204
+ 1. The value is a scalar value (e.g. string, number, boolean, etc.)
205
+ 2. The value is wrapped in the `Json<Data>` template
206
+ 3. The value is provided using the value syntax (e.g. `#{}`, `#[]`)
207
+
208
+ For example, `@extension("x-schema", { x: "value" })` will emit a JSON schema value for `x-schema`,
209
+ whereas `@extension("x-schema", #{x: "value"})` and `@extension("x-schema", Json<{x: "value"}>)`
210
+ will emit the raw JSON code `{x: "value"}`.
201
211
 
202
212
  ```typespec
203
- @TypeSpec.JsonSchema.extension(key: valueof string, value: unknown)
213
+ @TypeSpec.JsonSchema.extension(key: valueof string, value: unknown | valueof unknown)
204
214
  ```
205
215
 
206
216
  ##### Target
@@ -209,10 +219,10 @@ emit the raw JSON code `{x: "value"}`.
209
219
 
210
220
  ##### Parameters
211
221
 
212
- | Name | Type | Description |
213
- | ----- | ---------------- | --------------------------------------------------------------------------------------- |
214
- | key | `valueof string` | the name of the keyword of vendor extension, e.g. `x-custom`. |
215
- | value | `unknown` | the value of the keyword. Will be converted to a schema unless wrapped in `Json<Data>`. |
222
+ | Name | Type | Description |
223
+ | ----- | ------------------------------ | ------------------------------------------------------------- |
224
+ | key | `valueof string` | the name of the keyword of vendor extension, e.g. `x-custom`. |
225
+ | value | `unknown` \| `valueof unknown` | the value of the keyword. |
216
226
 
217
227
  #### `@id`
218
228
 
@@ -100,13 +100,22 @@ export type ContentMediaTypeDecorator = (context: DecoratorContext, target: Scal
100
100
  export type ContentSchemaDecorator = (context: DecoratorContext, target: Scalar | ModelProperty, value: Type) => void;
101
101
  /**
102
102
  * Specify a custom property to add to the emitted schema. Useful for adding custom keywords
103
- * and other vendor-specific extensions. The value will be converted to a schema unless the parameter
104
- * is wrapped in the `Json<Data>` template. For example, `@extension("x-schema", { x: "value" })` will
105
- * emit a JSON schema value for `x-schema`, whereas `@extension("x-schema", Json<{x: "value"}>)` will
106
- * emit the raw JSON code `{x: "value"}`.
103
+ * and other vendor-specific extensions. Scalar values need to be specified using `typeof` to be converted to a schema.
104
+ *
105
+ * For example, `@extension("x-schema", typeof "foo")` will emit a JSON schema value for `x-schema`,
106
+ * whereas `@extension("x-schema", "foo")` will emit the raw code `"foo"`.
107
+ *
108
+ * The value will be treated as a raw value if any of the following are true:
109
+ * 1. The value is a scalar value (e.g. string, number, boolean, etc.)
110
+ * 2. The value is wrapped in the `Json<Data>` template
111
+ * 3. The value is provided using the value syntax (e.g. `#{}`, `#[]`)
112
+ *
113
+ * For example, `@extension("x-schema", { x: "value" })` will emit a JSON schema value for `x-schema`,
114
+ * whereas `@extension("x-schema", #{x: "value"})` and `@extension("x-schema", Json<{x: "value"}>)`
115
+ * will emit the raw JSON code `{x: "value"}`.
107
116
  *
108
117
  * @param key the name of the keyword of vendor extension, e.g. `x-custom`.
109
- * @param value the value of the keyword. Will be converted to a schema unless wrapped in `Json<Data>`.
118
+ * @param value the value of the keyword.
110
119
  */
111
- export type ExtensionDecorator = (context: DecoratorContext, target: Type, key: string, value: Type) => void;
120
+ export type ExtensionDecorator = (context: DecoratorContext, target: Type, key: string, value: Type | unknown) => void;
112
121
  //# sourceMappingURL=TypeSpec.JsonSchema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TypeSpec.JsonSchema.d.ts","sourceRoot":"","sources":["../../generated-defs/TypeSpec.JsonSchema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TypeSpec.JsonSchema.d.ts","sourceRoot":"","sources":["../../generated-defs/TypeSpec.JsonSchema.ts"],"names":[],"mappings":"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"}
@@ -43,9 +43,10 @@ export declare const $prefixItems: PrefixItemsDecorator;
43
43
  export declare function getPrefixItems(program: Program, target: Type): Tuple | undefined;
44
44
  export interface ExtensionRecord {
45
45
  key: string;
46
- value: Type;
46
+ value: Type | unknown;
47
47
  }
48
48
  export declare const $extension: ExtensionDecorator;
49
49
  export declare function getExtensions(program: Program, target: Type): ExtensionRecord[];
50
+ export declare function setExtension(program: Program, target: Type, key: string, value: unknown): void;
50
51
  export declare const $validatesRawJson: ValidatesRawJsonDecorator;
51
52
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/src/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { setTypeSpecNamespace, typespecTypeToJson, } from "@typespec/compiler";
1
+ import { isType, setTypeSpecNamespace, typespecTypeToJson, } from "@typespec/compiler";
2
2
  import { createAssetEmitter } from "@typespec/compiler/emitter-framework";
3
3
  import { JsonSchemaEmitter } from "./json-schema-emitter.js";
4
4
  import { createStateSymbol } from "./lib.js";
@@ -157,15 +157,35 @@ export function getPrefixItems(program, target) {
157
157
  }
158
158
  const extensionsKey = createStateSymbol("JsonSchema.extension");
159
159
  export const $extension = (context, target, key, value) => {
160
- const stateMap = context.program.stateMap(extensionsKey);
161
- const extensions = stateMap.has(target)
162
- ? stateMap.get(target)
163
- : stateMap.set(target, []).get(target);
164
- extensions.push({ key, value });
160
+ setExtension(context.program, target, key, value);
165
161
  };
166
162
  export function getExtensions(program, target) {
167
163
  return program.stateMap(extensionsKey).get(target) ?? [];
168
164
  }
165
+ export function setExtension(program, target, key, value) {
166
+ const stateMap = program.stateMap(extensionsKey);
167
+ const extensions = stateMap.has(target)
168
+ ? stateMap.get(target)
169
+ : stateMap.set(target, []).get(target);
170
+ // Check if we were handed the `Json` template model
171
+ if (isJsonTemplateType(value)) {
172
+ extensions.push({
173
+ key,
174
+ value: typespecTypeToJson(value.properties.get("value").type, target)[0],
175
+ });
176
+ }
177
+ else {
178
+ extensions.push({ key, value });
179
+ }
180
+ }
181
+ function isJsonTemplateType(value) {
182
+ return (typeof value === "object" &&
183
+ value !== null &&
184
+ isType(value) &&
185
+ value.kind === "Model" &&
186
+ value.name === "Json" &&
187
+ value.namespace?.name === "JsonSchema");
188
+ }
169
189
  export const $validatesRawJson = (context, target, value) => {
170
190
  const [_, diagnostics] = typespecTypeToJson(value, target);
171
191
  if (diagnostics.length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAaL,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAoB1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAA4B,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAEvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAA4B,MAAM,UAAU,CAAC;AAExF,MAAM,CAAC,MAAM,SAAS,GAAG,qBAAqB,CAAC;AAG/C,MAAM,aAAa,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;AAEtD,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAA8C;IAC1E,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,OAAO,EAAE,iBAAwB,EAAE,OAAO,CAAC,CAAC;IAEvF,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE,CAAC;QACvC,OAAO,CAAC,WAAW,CAAC,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC,CAAC;IACxD,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,IAAI,IAAI,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACvD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAwB,CAC9C,OAAyB,EACzB,MAAY,EACZ,WAAoB,EACpB,EAAE;IACF,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpD,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAChC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;AAC3D,MAAM,CAAC,MAAM,QAAQ,GAAqB,CACxC,OAAyB,EACzB,MAAiB,EACjB,OAAe,EACf,EAAE;IACF,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC5D,CAAC,CAAC;AAEF,MAAM,UAAU,UAAU,CAAC,OAAgB,EAAE,MAAY;IACvD,OAAO,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,OAAgB,EAChB,MAAyC;IAEzC,IAAI,OAA2B,CAAC;IAChC,IAAI,OAAO,GAAkD,MAAM,CAAC;IACpE,GAAG,CAAC;QACF,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACvC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;IAC9B,CAAC,QAAQ,CAAC,OAAO,IAAI,OAAO,EAAE;IAE9B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,OAAgB,EAAE,MAA6B;IACrF,IAAI,OAAO,GAAkD,MAAM,CAAC;IACpE,GAAG,CAAC;QACF,IAAI,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;IAC9B,CAAC,QAAQ,OAAO,EAAE;IAElB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAgB;IACjD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAA0B,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAgB,EAAE,MAAY;IAC1D,OAAO,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,aAAa,GAAG,iBAAiB,CAAC,uBAAuB,CAAC,CAAC;AACjE,MAAM,CAAC,MAAM,WAAW,GAAwB,CAC9C,OAAyB,EACzB,MAA8B,EAC9B,KAAc,EACd,EAAE;IACF,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEF,MAAM,UAAU,sBAAsB,CAAC,OAAgB,EAAE,MAAY;IACnE,OAAO,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACrD,CAAC;AACD,MAAM,UAAU,aAAa,CAAC,OAAgB,EAAE,MAAY;IAC1D,OAAO,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,SAAS,CAAC;AAC1E,CAAC;AAED,MAAM,KAAK,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAC;AACjD,MAAM,CAAC,MAAM,GAAG,GAAgB,CAAC,OAAyB,EAAE,MAAY,EAAE,KAAa,EAAE,EAAE;IACzF,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACrD,CAAC,CAAC;AAEF,MAAM,UAAU,KAAK,CAAC,OAAgB,EAAE,MAAY;IAClD,OAAO,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,QAAQ,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;AACvD,MAAM,CAAC,MAAM,MAAM,GAAmB,CAAC,OAAyB,EAAE,MAAY,EAAE,EAAE;IAChF,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF,MAAM,UAAU,OAAO,CAAC,OAAgB,EAAE,MAAY;IACpD,OAAO,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,WAAW,GAAG,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;AAC7D,MAAM,CAAC,MAAM,SAAS,GAAsB,CAC1C,OAAyB,EACzB,MAAY,EACZ,KAAW,EACX,EAAE;IACF,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC3D,CAAC,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,OAAgB,EAAE,MAAY;IACxD,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,cAAc,GAAG,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,YAAY,GAAyB,CAChD,OAAyB,EACzB,MAAY,EACZ,KAAa,EACb,EAAE;IACF,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC9D,CAAC,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,OAAgB,EAAE,MAAY;IAC3D,OAAO,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,cAAc,GAAG,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,YAAY,GAAyB,CAChD,OAAyB,EACzB,MAAY,EACZ,KAAa,EACb,EAAE;IACF,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC9D,CAAC,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,OAAgB,EAAE,MAAY;IAC3D,OAAO,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,cAAc,GAAG,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,YAAY,GAAyB,CAAC,OAAyB,EAAE,MAAY,EAAE,EAAE;IAC5F,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,OAAgB,EAAE,MAAY;IAC3D,OAAO,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,0BAA0B,CAAC,CAAC;AACvE,MAAM,CAAC,MAAM,cAAc,GAA2B,CACpD,OAAyB,EACzB,MAAY,EACZ,KAAa,EACb,EAAE;IACF,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAChE,CAAC,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,OAAgB,EAAE,MAAY;IAC7D,OAAO,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,0BAA0B,CAAC,CAAC;AACvE,MAAM,CAAC,MAAM,cAAc,GAA2B,CACpD,OAAyB,EACzB,MAAY,EACZ,KAAa,EACb,EAAE;IACF,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAChE,CAAC,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,OAAgB,EAAE,MAAY;IAC7D,OAAO,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,4BAA4B,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,gBAAgB,GAA6B,CACxD,OAAyB,EACzB,MAA8B,EAC9B,KAAa,EACb,EAAE;IACF,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAClE,CAAC,CAAC;AAEF,MAAM,UAAU,kBAAkB,CAAC,OAAgB,EAAE,MAAY;IAC/D,OAAO,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,6BAA6B,CAAC,CAAC;AAC1E,MAAM,CAAC,MAAM,iBAAiB,GAA8B,CAC1D,OAAyB,EACzB,MAA8B,EAC9B,KAAa,EACb,EAAE;IACF,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAChE,CAAC,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,OAAgB,EAAE,MAAY;IAChE,OAAO,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,0BAA0B,CAAC,CAAC;AACvE,MAAM,CAAC,MAAM,cAAc,GAA2B,CACpD,OAAyB,EACzB,MAA8B,EAC9B,KAAW,EACX,EAAE;IACF,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAChE,CAAC,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,OAAgB,EAAE,MAAY;IAC7D,OAAO,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,cAAc,GAAG,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,YAAY,GAAyB,CAChD,OAAyB,EACzB,MAAY,EACZ,KAAW,EACX,EAAE;IACF,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC9D,CAAC,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,OAAgB,EAAE,MAAY;IAC3D,OAAO,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACtD,CAAC;AAOD,MAAM,aAAa,GAAG,iBAAiB,CAAC,sBAAsB,CAAC,CAAC;AAChE,MAAM,CAAC,MAAM,UAAU,GAAuB,CAC5C,OAAyB,EACzB,MAAY,EACZ,GAAW,EACX,KAAW,EACX,EAAE;IACF,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiC,CAAC;IACzF,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;QACrC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAE;QACvB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;IAE1C,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;AAClC,CAAC,CAAC;AAEF,MAAM,UAAU,aAAa,CAAC,OAAgB,EAAE,MAAY;IAC1D,OAAO,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAA8B,CAC1D,OAAyB,EACzB,MAAa,EACb,KAAW,EACX,EAAE;IACF,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC3D,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACjD,CAAC;AACH,CAAC,CAAC;AACF,oBAAoB,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"json-schema-emitter.d.ts","sourceRoot":"","sources":["../../src/json-schema-emitter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json-schema-emitter.d.ts","sourceRoot":"","sources":["../../src/json-schema-emitter.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { compilerAssert, emitFile, explainStringTemplateNotSerializable, getDeprecated, getDirectoryPath, getDoc, getFormat, getMaxItems, getMaxLength, getMaxValue, getMaxValueExclusive, getMinItems, getMinLength, getMinValue, getMinValueExclusive, getPattern, getRelativePathFromDirectory, getSummary, isArrayModelType, isNullType, joinPaths, typespecTypeToJson, } from "@typespec/compiler";
1
+ import { compilerAssert, emitFile, explainStringTemplateNotSerializable, getDeprecated, getDirectoryPath, getDoc, getFormat, getMaxItems, getMaxLength, getMaxValue, getMaxValueExclusive, getMinItems, getMinLength, getMinValue, getMinValueExclusive, getPattern, getRelativePathFromDirectory, getSummary, isArrayModelType, isNullType, isType, joinPaths, } from "@typespec/compiler";
2
2
  import { ArrayBuilder, ObjectBuilder, Placeholder, TypeEmitter, } from "@typespec/compiler/emitter-framework";
3
3
  import { DuplicateTracker } from "@typespec/compiler/utils";
4
4
  import { stringify } from "yaml";
@@ -432,19 +432,18 @@ export class JsonSchemaEmitter extends TypeEmitter {
432
432
  schema.set("prefixItems", prefixItemsSchema);
433
433
  }
434
434
  const extensions = getExtensions(this.emitter.getProgram(), type);
435
- for (const extension of extensions) {
436
- // todo: fix up when we have an authoritative way to ask "am I an instantiation of that template"
437
- if (extension.value.kind === "Model" &&
438
- extension.value.name === "Json" &&
439
- extension.value.namespace?.name === "JsonSchema") {
440
- // we check in a decorator
441
- schema.set(extension.key, typespecTypeToJson(extension.value.properties.get("value").type, null)[0]);
435
+ for (const { key, value } of extensions) {
436
+ if (this.#isTypeLike(value)) {
437
+ schema.set(key, this.emitter.emitTypeReference(value));
442
438
  }
443
439
  else {
444
- schema.set(extension.key, this.emitter.emitTypeReference(extension.value));
440
+ schema.set(key, value);
445
441
  }
446
442
  }
447
443
  }
444
+ #isTypeLike(value) {
445
+ return typeof value === "object" && value !== null && isType(value);
446
+ }
448
447
  #createDeclaration(type, name, schema) {
449
448
  const decl = this.emitter.result.declaration(name, schema);
450
449
  const sf = decl.scope.sourceFile;
@@ -1 +1 @@
1
- {"version":3,"file":"json-schema-emitter.js","sourceRoot":"","sources":["../../src/json-schema-emitter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json-schema-emitter.js","sourceRoot":"","sources":["../../src/json-schema-emitter.ts"],"names":[],"mappings":"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"}
package/dist/src/lib.d.ts CHANGED
@@ -35,35 +35,35 @@ export interface JSONSchemaEmitterOptions {
35
35
  export declare const EmitterOptionsSchema: JSONSchemaType<JSONSchemaEmitterOptions>;
36
36
  export declare const $lib: import("@typespec/compiler").TypeSpecLibrary<{
37
37
  "invalid-default": {
38
- readonly default: import("@typespec/compiler").CallableMessage<[string]>;
38
+ readonly default: import("@typespec/compiler").CallableMessage<["type"]>;
39
39
  };
40
40
  "duplicate-id": {
41
- readonly default: import("@typespec/compiler").CallableMessage<[string]>;
41
+ readonly default: import("@typespec/compiler").CallableMessage<["id"]>;
42
42
  };
43
43
  "unknown-scalar": {
44
- readonly default: import("@typespec/compiler").CallableMessage<[string]>;
44
+ readonly default: import("@typespec/compiler").CallableMessage<["name"]>;
45
45
  };
46
46
  }, JSONSchemaEmitterOptions, never>;
47
47
  export declare const $flags: import("@typespec/compiler").PackageFlags;
48
48
  export declare const reportDiagnostic: <C extends "invalid-default" | "duplicate-id" | "unknown-scalar", M extends keyof {
49
49
  "invalid-default": {
50
- readonly default: import("@typespec/compiler").CallableMessage<[string]>;
50
+ readonly default: import("@typespec/compiler").CallableMessage<["type"]>;
51
51
  };
52
52
  "duplicate-id": {
53
- readonly default: import("@typespec/compiler").CallableMessage<[string]>;
53
+ readonly default: import("@typespec/compiler").CallableMessage<["id"]>;
54
54
  };
55
55
  "unknown-scalar": {
56
- readonly default: import("@typespec/compiler").CallableMessage<[string]>;
56
+ readonly default: import("@typespec/compiler").CallableMessage<["name"]>;
57
57
  };
58
58
  }[C]>(program: import("@typespec/compiler").Program, diag: import("@typespec/compiler").DiagnosticReport<{
59
59
  "invalid-default": {
60
- readonly default: import("@typespec/compiler").CallableMessage<[string]>;
60
+ readonly default: import("@typespec/compiler").CallableMessage<["type"]>;
61
61
  };
62
62
  "duplicate-id": {
63
- readonly default: import("@typespec/compiler").CallableMessage<[string]>;
63
+ readonly default: import("@typespec/compiler").CallableMessage<["id"]>;
64
64
  };
65
65
  "unknown-scalar": {
66
- readonly default: import("@typespec/compiler").CallableMessage<[string]>;
66
+ readonly default: import("@typespec/compiler").CallableMessage<["name"]>;
67
67
  };
68
68
  }, C, M>) => void, createStateSymbol: (name: string) => symbol;
69
69
  export type JsonSchemaLibrary = typeof $lib;
package/lib/main.tsp CHANGED
@@ -116,15 +116,24 @@ extern dec contentSchema(target: string | Reflection.ModelProperty, value: unkno
116
116
 
117
117
  /**
118
118
  * Specify a custom property to add to the emitted schema. Useful for adding custom keywords
119
- * and other vendor-specific extensions. The value will be converted to a schema unless the parameter
120
- * is wrapped in the `Json<Data>` template. For example, `@extension("x-schema", { x: "value" })` will
121
- * emit a JSON schema value for `x-schema`, whereas `@extension("x-schema", Json<{x: "value"}>)` will
122
- * emit the raw JSON code `{x: "value"}`.
119
+ * and other vendor-specific extensions. Scalar values need to be specified using `typeof` to be converted to a schema.
120
+ *
121
+ * For example, `@extension("x-schema", typeof "foo")` will emit a JSON schema value for `x-schema`,
122
+ * whereas `@extension("x-schema", "foo")` will emit the raw code `"foo"`.
123
+ *
124
+ * The value will be treated as a raw value if any of the following are true:
125
+ * 1. The value is a scalar value (e.g. string, number, boolean, etc.)
126
+ * 2. The value is wrapped in the `Json<Data>` template
127
+ * 3. The value is provided using the value syntax (e.g. `#{}`, `#[]`)
128
+
129
+ * For example, `@extension("x-schema", { x: "value" })` will emit a JSON schema value for `x-schema`,
130
+ * whereas `@extension("x-schema", #{x: "value"})` and `@extension("x-schema", Json<{x: "value"}>)`
131
+ * will emit the raw JSON code `{x: "value"}`.
123
132
  *
124
133
  * @param key the name of the keyword of vendor extension, e.g. `x-custom`.
125
- * @param value the value of the keyword. Will be converted to a schema unless wrapped in `Json<Data>`.
134
+ * @param value the value of the keyword.
126
135
  */
127
- extern dec extension(target: unknown, key: valueof string, value: unknown);
136
+ extern dec extension(target: unknown, key: valueof string, value: (valueof unknown) | unknown);
128
137
 
129
138
  /**
130
139
  * Well-known JSON Schema formats.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typespec/json-schema",
3
- "version": "0.59.0-dev.0",
3
+ "version": "0.59.0-dev.2",
4
4
  "author": "Microsoft Corporation",
5
5
  "description": "TypeSpec library for emitting TypeSpec to JSON Schema and converting JSON Schema to TypeSpec",
6
6
  "homepage": "https://github.com/microsoft/typespec",
@@ -39,21 +39,21 @@
39
39
  "!dist/test/**"
40
40
  ],
41
41
  "peerDependencies": {
42
- "@typespec/compiler": "~0.58.0 || >=0.59.0-dev <0.59.0"
42
+ "@typespec/compiler": "~0.58.1 || >=0.59.0-dev <0.59.0"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@types/node": "~18.11.19",
46
- "@typespec/compiler": "~0.58.0 || >=0.59.0-dev <0.59.0",
46
+ "@typespec/compiler": "~0.58.1 || >=0.59.0-dev <0.59.0",
47
47
  "@typespec/internal-build-utils": "~0.58.0 || >=0.59.0-dev <0.59.0",
48
48
  "@typespec/library-linter": "~0.58.0 || >=0.59.0-dev <0.59.0",
49
- "@vitest/coverage-v8": "^1.6.0",
50
- "@vitest/ui": "^1.6.0",
51
- "ajv": "~8.16.0",
49
+ "@vitest/coverage-v8": "^2.0.4",
50
+ "@vitest/ui": "^2.0.4",
51
+ "ajv": "~8.17.1",
52
52
  "ajv-formats": "~3.0.1",
53
53
  "c8": "^10.1.2",
54
- "rimraf": "~5.0.7",
55
- "typescript": "~5.5.3",
56
- "vitest": "^1.6.0",
54
+ "rimraf": "~6.0.1",
55
+ "typescript": "~5.5.4",
56
+ "vitest": "^2.0.4",
57
57
  "@typespec/tspd": "~0.46.0"
58
58
  },
59
59
  "dependencies": {