@typespec/json-schema 0.56.0-dev.1 → 0.56.0-dev.3

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/dist/src/index.js CHANGED
@@ -153,8 +153,7 @@ export const $extension = (context, target, key, value) => {
153
153
  extensions.push({ key, value });
154
154
  };
155
155
  export function getExtensions(program, target) {
156
- var _a;
157
- return (_a = program.stateMap(extensionsKey).get(target)) !== null && _a !== void 0 ? _a : [];
156
+ return program.stateMap(extensionsKey).get(target) ?? [];
158
157
  }
159
158
  export const $validatesRawJson = (context, target, value) => {
160
159
  const [_, diagnostics] = typespecTypeToJson(value, target);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,30 +1,19 @@
1
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
3
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
4
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
- };
6
- var _JsonSchemaEmitter_instances, _JsonSchemaEmitter_idDuplicateTracker, _JsonSchemaEmitter_typeForSourceFile, _JsonSchemaEmitter_refToDecl, _JsonSchemaEmitter_requiredModelProperties, _JsonSchemaEmitter_getDefaultValue, _JsonSchemaEmitter_getSchemaForScalar, _JsonSchemaEmitter_getSchemaForStdScalars, _JsonSchemaEmitter_applyConstraints, _JsonSchemaEmitter_createDeclaration, _JsonSchemaEmitter_isStdType, _JsonSchemaEmitter_reportDuplicateIds, _JsonSchemaEmitter_getCurrentSourceFile, _JsonSchemaEmitter_getDeclId, _JsonSchemaEmitter_trackId, _JsonSchemaEmitter_newFileScope, _JsonSchemaEmitter_fileExtension;
7
1
  import { compilerAssert, DuplicateTracker, emitFile, getDeprecated, getDirectoryPath, getDoc, getFormat, getMaxItems, getMaxLength, getMaxValue, getMaxValueExclusive, getMinItems, getMinLength, getMinValue, getMinValueExclusive, getPattern, getRelativePathFromDirectory, getSummary, isArrayModelType, isNullType, stringTemplateToString, typespecTypeToJson, } from "@typespec/compiler";
8
2
  import { ArrayBuilder, ObjectBuilder, Placeholder, TypeEmitter, } from "@typespec/compiler/emitter-framework";
9
3
  import { stringify } from "yaml";
10
4
  import { findBaseUri, getContains, getContentEncoding, getContentMediaType, getContentSchema, getExtensions, getId, getMaxContains, getMaxProperties, getMinContains, getMinProperties, getMultipleOf, getPrefixItems, getUniqueItems, isJsonSchemaDeclaration, } from "./index.js";
11
5
  import { reportDiagnostic } from "./lib.js";
12
6
  export class JsonSchemaEmitter extends TypeEmitter {
13
- constructor() {
14
- super(...arguments);
15
- _JsonSchemaEmitter_instances.add(this);
16
- _JsonSchemaEmitter_idDuplicateTracker.set(this, new DuplicateTracker());
17
- _JsonSchemaEmitter_typeForSourceFile.set(this, new Map());
18
- _JsonSchemaEmitter_refToDecl.set(this, new Map());
19
- // #endregion
20
- }
7
+ #idDuplicateTracker = new DuplicateTracker();
8
+ #typeForSourceFile = new Map();
9
+ #refToDecl = new Map();
21
10
  modelDeclaration(model, name) {
22
11
  const schema = new ObjectBuilder({
23
12
  $schema: "https://json-schema.org/draft/2020-12/schema",
24
- $id: __classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_getDeclId).call(this, model, name),
13
+ $id: this.#getDeclId(model, name),
25
14
  type: "object",
26
15
  properties: this.emitter.emitModelProperties(model),
27
- required: __classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_requiredModelProperties).call(this, model),
16
+ required: this.#requiredModelProperties(model),
28
17
  });
29
18
  if (model.baseModel) {
30
19
  const allOf = new ArrayBuilder();
@@ -34,14 +23,14 @@ export class JsonSchemaEmitter extends TypeEmitter {
34
23
  if (model.indexer) {
35
24
  schema.set("additionalProperties", this.emitter.emitTypeReference(model.indexer.value));
36
25
  }
37
- __classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_applyConstraints).call(this, model, schema);
38
- return __classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_createDeclaration).call(this, model, name, schema);
26
+ this.#applyConstraints(model, schema);
27
+ return this.#createDeclaration(model, name, schema);
39
28
  }
40
29
  modelLiteral(model) {
41
30
  const schema = new ObjectBuilder({
42
31
  type: "object",
43
32
  properties: this.emitter.emitModelProperties(model),
44
- required: __classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_requiredModelProperties).call(this, model),
33
+ required: this.#requiredModelProperties(model),
45
34
  });
46
35
  if (model.indexer) {
47
36
  schema.set("additionalProperties", this.emitter.emitTypeReference(model.indexer.value));
@@ -57,12 +46,12 @@ export class JsonSchemaEmitter extends TypeEmitter {
57
46
  arrayDeclaration(array, name, elementType) {
58
47
  const schema = new ObjectBuilder({
59
48
  $schema: "https://json-schema.org/draft/2020-12/schema",
60
- $id: __classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_getDeclId).call(this, array, name),
49
+ $id: this.#getDeclId(array, name),
61
50
  type: "array",
62
51
  items: this.emitter.emitTypeReference(elementType),
63
52
  });
64
- __classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_applyConstraints).call(this, array, schema);
65
- return __classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_createDeclaration).call(this, array, name, schema);
53
+ this.#applyConstraints(array, schema);
54
+ return this.#createDeclaration(array, name, schema);
66
55
  }
67
56
  arrayLiteral(array, elementType) {
68
57
  return new ObjectBuilder({
@@ -70,6 +59,15 @@ export class JsonSchemaEmitter extends TypeEmitter {
70
59
  items: this.emitter.emitTypeReference(elementType),
71
60
  });
72
61
  }
62
+ #requiredModelProperties(model) {
63
+ const requiredProps = [];
64
+ for (const prop of model.properties.values()) {
65
+ if (!prop.optional) {
66
+ requiredProps.push(prop.name);
67
+ }
68
+ }
69
+ return requiredProps.length > 0 ? requiredProps : undefined;
70
+ }
73
71
  modelProperties(model) {
74
72
  const props = new ObjectBuilder();
75
73
  for (const [name, prop] of model.properties) {
@@ -83,11 +81,48 @@ export class JsonSchemaEmitter extends TypeEmitter {
83
81
  compilerAssert(propertyType.kind === "code", "Unexpected non-code result from emit reference");
84
82
  const result = new ObjectBuilder(propertyType.value);
85
83
  if (property.default) {
86
- result.default = __classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_getDefaultValue).call(this, property.type, property.default);
84
+ result.default = this.#getDefaultValue(property.type, property.default);
87
85
  }
88
- __classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_applyConstraints).call(this, property, result);
86
+ this.#applyConstraints(property, result);
89
87
  return result;
90
88
  }
89
+ #getDefaultValue(type, defaultType) {
90
+ const program = this.emitter.getProgram();
91
+ switch (defaultType.kind) {
92
+ case "String":
93
+ return defaultType.value;
94
+ case "Number":
95
+ return defaultType.value;
96
+ case "Boolean":
97
+ return defaultType.value;
98
+ case "Tuple":
99
+ compilerAssert(type.kind === "Tuple" || (type.kind === "Model" && isArrayModelType(program, type)), "setting tuple default to non-tuple value");
100
+ if (type.kind === "Tuple") {
101
+ return defaultType.values.map((defaultTupleValue, index) => this.#getDefaultValue(type.values[index], defaultTupleValue));
102
+ }
103
+ else {
104
+ return defaultType.values.map((defaultTuplevalue) => this.#getDefaultValue(type.indexer.value, defaultTuplevalue));
105
+ }
106
+ case "Intrinsic":
107
+ return isNullType(defaultType)
108
+ ? null
109
+ : reportDiagnostic(program, {
110
+ code: "invalid-default",
111
+ format: { type: defaultType.kind },
112
+ target: defaultType,
113
+ });
114
+ case "EnumMember":
115
+ return defaultType.value ?? defaultType.name;
116
+ case "UnionVariant":
117
+ return this.#getDefaultValue(type, defaultType.type);
118
+ default:
119
+ reportDiagnostic(program, {
120
+ code: "invalid-default",
121
+ format: { type: defaultType.kind },
122
+ target: defaultType,
123
+ });
124
+ }
125
+ }
91
126
  booleanLiteral(boolean) {
92
127
  return { type: "boolean", const: boolean.value };
93
128
  }
@@ -108,23 +143,22 @@ export class JsonSchemaEmitter extends TypeEmitter {
108
143
  return { type: "number", const: number.value };
109
144
  }
110
145
  enumDeclaration(en, name) {
111
- var _a;
112
146
  const enumTypes = new Set();
113
147
  const enumValues = new Set();
114
148
  for (const member of en.members.values()) {
115
149
  // ???: why do we let emitters decide what the default type of an enum is
116
150
  enumTypes.add(typeof member.value === "number" ? "number" : "string");
117
- enumValues.add((_a = member.value) !== null && _a !== void 0 ? _a : member.name);
151
+ enumValues.add(member.value ?? member.name);
118
152
  }
119
153
  const enumTypesArray = [...enumTypes];
120
154
  const withConstraints = new ObjectBuilder({
121
155
  $schema: "https://json-schema.org/draft/2020-12/schema",
122
- $id: __classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_getDeclId).call(this, en, name),
156
+ $id: this.#getDeclId(en, name),
123
157
  type: enumTypesArray.length === 1 ? enumTypesArray[0] : enumTypesArray,
124
158
  enum: [...enumValues],
125
159
  });
126
- __classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_applyConstraints).call(this, en, withConstraints);
127
- return __classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_createDeclaration).call(this, en, name, withConstraints);
160
+ this.#applyConstraints(en, withConstraints);
161
+ return this.#createDeclaration(en, name, withConstraints);
128
162
  }
129
163
  enumMemberReference(member) {
130
164
  // would like to dispatch to the same `literal` codepaths but enum members aren't literal types
@@ -153,11 +187,11 @@ export class JsonSchemaEmitter extends TypeEmitter {
153
187
  unionDeclaration(union, name) {
154
188
  const withConstraints = new ObjectBuilder({
155
189
  $schema: "https://json-schema.org/draft/2020-12/schema",
156
- $id: __classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_getDeclId).call(this, union, name),
190
+ $id: this.#getDeclId(union, name),
157
191
  anyOf: this.emitter.emitUnionVariants(union),
158
192
  });
159
- __classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_applyConstraints).call(this, union, withConstraints);
160
- return __classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_createDeclaration).call(this, union, name, withConstraints);
193
+ this.#applyConstraints(union, withConstraints);
194
+ return this.#createDeclaration(union, name, withConstraints);
161
195
  }
162
196
  unionLiteral(union) {
163
197
  this.emitter.getProgram().resolveTypeReference("Cadl.Foo");
@@ -182,7 +216,7 @@ export class JsonSchemaEmitter extends TypeEmitter {
182
216
  const refSchema = this.emitter.emitTypeReference(property.type);
183
217
  compilerAssert(refSchema.kind === "code", "Unexpected non-code result from emit reference");
184
218
  const schema = new ObjectBuilder(refSchema.value);
185
- __classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_applyConstraints).call(this, property, schema);
219
+ this.#applyConstraints(property, schema);
186
220
  return schema;
187
221
  }
188
222
  reference(targetDeclaration, pathUp, pathDown, commonScope) {
@@ -209,7 +243,7 @@ export class JsonSchemaEmitter extends TypeEmitter {
209
243
  }
210
244
  scalarInstantiation(scalar, name) {
211
245
  if (!name) {
212
- return __classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_getSchemaForScalar).call(this, scalar);
246
+ return this.#getSchemaForScalar(scalar);
213
247
  }
214
248
  return this.scalarDeclaration(scalar, name);
215
249
  }
@@ -221,12 +255,12 @@ export class JsonSchemaEmitter extends TypeEmitter {
221
255
  return {};
222
256
  }
223
257
  else {
224
- return __classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_newFileScope).call(this, scalar);
258
+ return this.#newFileScope(scalar);
225
259
  }
226
260
  }
227
261
  scalarDeclaration(scalar, name) {
228
- const isStd = __classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_isStdType).call(this, scalar);
229
- const schema = __classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_getSchemaForScalar).call(this, scalar);
262
+ const isStd = this.#isStdType(scalar);
263
+ const schema = this.#getSchemaForScalar(scalar);
230
264
  // Don't create a declaration for std types
231
265
  if (isStd) {
232
266
  return schema;
@@ -234,9 +268,179 @@ export class JsonSchemaEmitter extends TypeEmitter {
234
268
  const builderSchema = new ObjectBuilder({
235
269
  ...schema,
236
270
  $schema: "https://json-schema.org/draft/2020-12/schema",
237
- $id: __classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_getDeclId).call(this, scalar, name),
271
+ $id: this.#getDeclId(scalar, name),
238
272
  });
239
- return __classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_createDeclaration).call(this, scalar, name, builderSchema);
273
+ return this.#createDeclaration(scalar, name, builderSchema);
274
+ }
275
+ #getSchemaForScalar(scalar) {
276
+ let result = {};
277
+ const isStd = this.#isStdType(scalar);
278
+ if (isStd) {
279
+ result = this.#getSchemaForStdScalars(scalar);
280
+ }
281
+ else if (scalar.baseScalar) {
282
+ result = this.#getSchemaForScalar(scalar.baseScalar);
283
+ }
284
+ else {
285
+ reportDiagnostic(this.emitter.getProgram(), {
286
+ code: "unknown-scalar",
287
+ format: { name: scalar.name },
288
+ target: scalar,
289
+ });
290
+ return {};
291
+ }
292
+ const objectBuilder = new ObjectBuilder(result);
293
+ this.#applyConstraints(scalar, objectBuilder);
294
+ if (isStd) {
295
+ // Standard types are going to be inlined in the spec and we don't want the description of the scalar to show up
296
+ delete objectBuilder.description;
297
+ }
298
+ return objectBuilder;
299
+ }
300
+ #getSchemaForStdScalars(baseBuiltIn) {
301
+ switch (baseBuiltIn.name) {
302
+ case "uint8":
303
+ return { type: "integer", minimum: 0, maximum: 255 };
304
+ case "uint16":
305
+ return { type: "integer", minimum: 0, maximum: 65535 };
306
+ case "uint32":
307
+ return { type: "integer", minimum: 0, maximum: 4294967295 };
308
+ case "int8":
309
+ return { type: "integer", minimum: -128, maximum: 127 };
310
+ case "int16":
311
+ return { type: "integer", minimum: -32768, maximum: 32767 };
312
+ case "int32":
313
+ return { type: "integer", minimum: -2147483648, maximum: 2147483647 };
314
+ case "int64":
315
+ const int64Strategy = this.emitter.getOptions()["int64-strategy"] ?? "string";
316
+ if (int64Strategy === "string") {
317
+ return { type: "string" };
318
+ }
319
+ else {
320
+ // can't use minimum and maximum because we can't actually encode these values as literals
321
+ // without losing precision.
322
+ return { type: "integer" };
323
+ }
324
+ case "uint64":
325
+ const uint64Strategy = this.emitter.getOptions()["int64-strategy"] ?? "string";
326
+ if (uint64Strategy === "string") {
327
+ return { type: "string" };
328
+ }
329
+ else {
330
+ // can't use minimum and maximum because we can't actually encode these values as literals
331
+ // without losing precision.
332
+ return { type: "integer" };
333
+ }
334
+ case "decimal":
335
+ case "decimal128":
336
+ return { type: "string" };
337
+ case "integer":
338
+ return { type: "integer" };
339
+ case "safeint":
340
+ return { type: "integer" };
341
+ case "float":
342
+ return { type: "number" };
343
+ case "float32":
344
+ return { type: "number" };
345
+ case "float64":
346
+ return { type: "number" };
347
+ case "numeric":
348
+ return { type: "number" };
349
+ case "string":
350
+ return { type: "string" };
351
+ case "boolean":
352
+ return { type: "boolean" };
353
+ case "plainDate":
354
+ return { type: "string", format: "date" };
355
+ case "plainTime":
356
+ return { type: "string", format: "time" };
357
+ case "offsetDateTime":
358
+ case "utcDateTime":
359
+ return { type: "string", format: "date-time" };
360
+ case "duration":
361
+ return { type: "string", format: "duration" };
362
+ case "url":
363
+ return { type: "string", format: "uri" };
364
+ case "bytes":
365
+ return { type: "string", contentEncoding: "base64" };
366
+ default:
367
+ compilerAssert(false, `Unknown built-in scalar type ${baseBuiltIn.name}`);
368
+ }
369
+ }
370
+ #applyConstraints(type, schema) {
371
+ const applyConstraint = (fn, key) => {
372
+ const value = fn(this.emitter.getProgram(), type);
373
+ if (value !== undefined) {
374
+ schema[key] = value;
375
+ }
376
+ };
377
+ const applyTypeConstraint = (fn, key) => {
378
+ const constraintType = fn(this.emitter.getProgram(), type);
379
+ if (constraintType) {
380
+ const ref = this.emitter.emitTypeReference(constraintType);
381
+ compilerAssert(ref.kind === "code", "Unexpected non-code result from emit reference");
382
+ schema.set(key, ref.value);
383
+ }
384
+ };
385
+ applyConstraint(getMinLength, "minLength");
386
+ applyConstraint(getMaxLength, "maxLength");
387
+ applyConstraint(getMinValue, "minimum");
388
+ applyConstraint(getMinValueExclusive, "exclusiveMinimum");
389
+ applyConstraint(getMaxValue, "maximum");
390
+ applyConstraint(getMaxValueExclusive, "exclusiveMaximum");
391
+ applyConstraint(getPattern, "pattern");
392
+ applyConstraint(getMinItems, "minItems");
393
+ applyConstraint(getMaxItems, "maxItems");
394
+ // the stdlib applies a format of "url" but json schema wants "uri",
395
+ // so ignore this format if it's the built-in type.
396
+ if (!this.#isStdType(type) || type.name !== "url") {
397
+ applyConstraint(getFormat, "format");
398
+ }
399
+ applyConstraint(getMultipleOf, "multipleOf");
400
+ applyTypeConstraint(getContains, "contains");
401
+ applyConstraint(getMinContains, "minContains");
402
+ applyConstraint(getMaxContains, "maxContains");
403
+ applyConstraint(getUniqueItems, "uniqueItems");
404
+ applyConstraint(getMinProperties, "minProperties");
405
+ applyConstraint(getMaxProperties, "maxProperties");
406
+ applyConstraint(getContentEncoding, "contentEncoding");
407
+ applyConstraint(getContentMediaType, "contentMediaType");
408
+ applyTypeConstraint(getContentSchema, "contentSchema");
409
+ applyConstraint(getDoc, "description");
410
+ applyConstraint(getSummary, "title");
411
+ applyConstraint((p, t) => (getDeprecated(p, t) !== undefined ? true : undefined), "deprecated");
412
+ const prefixItems = getPrefixItems(this.emitter.getProgram(), type);
413
+ if (prefixItems) {
414
+ const prefixItemsSchema = new ArrayBuilder();
415
+ for (const item of prefixItems.values) {
416
+ prefixItemsSchema.push(this.emitter.emitTypeReference(item));
417
+ }
418
+ schema.set("prefixItems", prefixItemsSchema);
419
+ }
420
+ const extensions = getExtensions(this.emitter.getProgram(), type);
421
+ for (const extension of extensions) {
422
+ // todo: fix up when we have an authoritative way to ask "am I an instantiation of that template"
423
+ if (extension.value.kind === "Model" &&
424
+ extension.value.name === "Json" &&
425
+ extension.value.namespace?.name === "JsonSchema") {
426
+ // we check in a decorator
427
+ schema.set(extension.key, typespecTypeToJson(extension.value.properties.get("value").type, null)[0]);
428
+ }
429
+ else {
430
+ schema.set(extension.key, this.emitter.emitTypeReference(extension.value));
431
+ }
432
+ }
433
+ }
434
+ #createDeclaration(type, name, schema) {
435
+ const decl = this.emitter.result.declaration(name, schema);
436
+ if (!this.emitter.getOptions().bundleId && !this.emitter.getOptions().emitAllRefs) {
437
+ const declSf = this.emitter.getContext().scope.sourceFile;
438
+ declSf.meta.shouldEmit = isJsonSchemaDeclaration(this.emitter.getProgram(), type);
439
+ }
440
+ return decl;
441
+ }
442
+ #isStdType(type) {
443
+ return this.emitter.getProgram().checker.isStdType(type);
240
444
  }
241
445
  intrinsic(intrinsic, name) {
242
446
  switch (intrinsic.name) {
@@ -254,11 +458,22 @@ export class JsonSchemaEmitter extends TypeEmitter {
254
458
  compilerAssert(false, "Unreachable");
255
459
  }
256
460
  }
461
+ #reportDuplicateIds() {
462
+ for (const [id, targets] of this.#idDuplicateTracker.entries()) {
463
+ for (const target of targets) {
464
+ reportDiagnostic(this.emitter.getProgram(), {
465
+ code: "duplicate-id",
466
+ format: { id },
467
+ target: target,
468
+ });
469
+ }
470
+ }
471
+ }
257
472
  async writeOutput(sourceFiles) {
258
473
  if (this.emitter.getOptions().noEmit) {
259
474
  return;
260
475
  }
261
- __classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_reportDuplicateIds).call(this);
476
+ this.#reportDuplicateIds();
262
477
  const toEmit = [];
263
478
  for (const sf of sourceFiles) {
264
479
  const emittedSf = await this.emitter.emitSourceFile(sf);
@@ -320,6 +535,51 @@ export class JsonSchemaEmitter extends TypeEmitter {
320
535
  path: sourceFile.path,
321
536
  };
322
537
  }
538
+ #getCurrentSourceFile() {
539
+ let scope = this.emitter.getContext().scope;
540
+ compilerAssert(scope, "Scope should exists");
541
+ while (scope && scope.kind !== "sourceFile") {
542
+ scope = scope.parentScope;
543
+ }
544
+ compilerAssert(scope, "Top level scope should be a source file");
545
+ return scope.sourceFile;
546
+ }
547
+ #getDeclId(type, name) {
548
+ const baseUri = findBaseUri(this.emitter.getProgram(), type);
549
+ const explicitId = getId(this.emitter.getProgram(), type);
550
+ if (explicitId) {
551
+ return this.#trackId(idWithBaseURI(explicitId, baseUri), type);
552
+ }
553
+ // generate an id
554
+ if (this.emitter.getOptions().bundleId) {
555
+ compilerAssert(type.name, "Type needs a name to emit a declaration id");
556
+ return this.#trackId(idWithBaseURI(name, baseUri), type);
557
+ }
558
+ else {
559
+ // generate the ID based on the file path
560
+ const base = this.emitter.getOptions().emitterOutputDir;
561
+ const file = this.#getCurrentSourceFile().path;
562
+ const relative = getRelativePathFromDirectory(base, file, false);
563
+ if (baseUri) {
564
+ return this.#trackId(new URL(relative, baseUri).href, type);
565
+ }
566
+ else {
567
+ return this.#trackId(relative, type);
568
+ }
569
+ }
570
+ function idWithBaseURI(id, baseUri) {
571
+ if (baseUri) {
572
+ return new URL(id, baseUri).href;
573
+ }
574
+ else {
575
+ return id;
576
+ }
577
+ }
578
+ }
579
+ #trackId(id, target) {
580
+ this.#idDuplicateTracker.track(id, target);
581
+ return id;
582
+ }
323
583
  // #region context emitters
324
584
  programContext(program) {
325
585
  if (this.emitter.getOptions().bundleId) {
@@ -336,10 +596,10 @@ export class JsonSchemaEmitter extends TypeEmitter {
336
596
  return {};
337
597
  }
338
598
  else {
339
- if (__classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_isStdType).call(this, model) && model.name === "object") {
599
+ if (this.#isStdType(model) && model.name === "object") {
340
600
  return {};
341
601
  }
342
- return __classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_newFileScope).call(this, model);
602
+ return this.#newFileScope(model);
343
603
  }
344
604
  }
345
605
  modelInstantiationContext(model, name) {
@@ -350,7 +610,7 @@ export class JsonSchemaEmitter extends TypeEmitter {
350
610
  return {};
351
611
  }
352
612
  else {
353
- return __classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_newFileScope).call(this, model);
613
+ return this.#newFileScope(model);
354
614
  }
355
615
  }
356
616
  arrayDeclarationContext(array) {
@@ -358,7 +618,7 @@ export class JsonSchemaEmitter extends TypeEmitter {
358
618
  return {};
359
619
  }
360
620
  else {
361
- return __classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_newFileScope).call(this, array);
621
+ return this.#newFileScope(array);
362
622
  }
363
623
  }
364
624
  enumDeclarationContext(en) {
@@ -366,7 +626,7 @@ export class JsonSchemaEmitter extends TypeEmitter {
366
626
  return {};
367
627
  }
368
628
  else {
369
- return __classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_newFileScope).call(this, en);
629
+ return this.#newFileScope(en);
370
630
  }
371
631
  }
372
632
  unionDeclarationContext(union) {
@@ -374,294 +634,31 @@ export class JsonSchemaEmitter extends TypeEmitter {
374
634
  return {};
375
635
  }
376
636
  else {
377
- return __classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_newFileScope).call(this, union);
637
+ return this.#newFileScope(union);
378
638
  }
379
639
  }
380
640
  scalarDeclarationContext(scalar) {
381
641
  if (this.emitter.getOptions().bundleId) {
382
642
  return {};
383
643
  }
384
- else if (__classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_isStdType).call(this, scalar)) {
644
+ else if (this.#isStdType(scalar)) {
385
645
  return {};
386
646
  }
387
647
  else {
388
- return __classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_newFileScope).call(this, scalar);
389
- }
390
- }
391
- }
392
- _JsonSchemaEmitter_idDuplicateTracker = new WeakMap(), _JsonSchemaEmitter_typeForSourceFile = new WeakMap(), _JsonSchemaEmitter_refToDecl = new WeakMap(), _JsonSchemaEmitter_instances = new WeakSet(), _JsonSchemaEmitter_requiredModelProperties = function _JsonSchemaEmitter_requiredModelProperties(model) {
393
- const requiredProps = [];
394
- for (const prop of model.properties.values()) {
395
- if (!prop.optional) {
396
- requiredProps.push(prop.name);
397
- }
398
- }
399
- return requiredProps.length > 0 ? requiredProps : undefined;
400
- }, _JsonSchemaEmitter_getDefaultValue = function _JsonSchemaEmitter_getDefaultValue(type, defaultType) {
401
- var _a;
402
- const program = this.emitter.getProgram();
403
- switch (defaultType.kind) {
404
- case "String":
405
- return defaultType.value;
406
- case "Number":
407
- return defaultType.value;
408
- case "Boolean":
409
- return defaultType.value;
410
- case "Tuple":
411
- compilerAssert(type.kind === "Tuple" || (type.kind === "Model" && isArrayModelType(program, type)), "setting tuple default to non-tuple value");
412
- if (type.kind === "Tuple") {
413
- return defaultType.values.map((defaultTupleValue, index) => __classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_getDefaultValue).call(this, type.values[index], defaultTupleValue));
414
- }
415
- else {
416
- return defaultType.values.map((defaultTuplevalue) => __classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_getDefaultValue).call(this, type.indexer.value, defaultTuplevalue));
417
- }
418
- case "Intrinsic":
419
- return isNullType(defaultType)
420
- ? null
421
- : reportDiagnostic(program, {
422
- code: "invalid-default",
423
- format: { type: defaultType.kind },
424
- target: defaultType,
425
- });
426
- case "EnumMember":
427
- return (_a = defaultType.value) !== null && _a !== void 0 ? _a : defaultType.name;
428
- case "UnionVariant":
429
- return __classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_getDefaultValue).call(this, type, defaultType.type);
430
- default:
431
- reportDiagnostic(program, {
432
- code: "invalid-default",
433
- format: { type: defaultType.kind },
434
- target: defaultType,
435
- });
436
- }
437
- }, _JsonSchemaEmitter_getSchemaForScalar = function _JsonSchemaEmitter_getSchemaForScalar(scalar) {
438
- let result = {};
439
- const isStd = __classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_isStdType).call(this, scalar);
440
- if (isStd) {
441
- result = __classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_getSchemaForStdScalars).call(this, scalar);
442
- }
443
- else if (scalar.baseScalar) {
444
- result = __classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_getSchemaForScalar).call(this, scalar.baseScalar);
445
- }
446
- else {
447
- reportDiagnostic(this.emitter.getProgram(), {
448
- code: "unknown-scalar",
449
- format: { name: scalar.name },
450
- target: scalar,
451
- });
452
- return {};
453
- }
454
- const objectBuilder = new ObjectBuilder(result);
455
- __classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_applyConstraints).call(this, scalar, objectBuilder);
456
- if (isStd) {
457
- // Standard types are going to be inlined in the spec and we don't want the description of the scalar to show up
458
- delete objectBuilder.description;
459
- }
460
- return objectBuilder;
461
- }, _JsonSchemaEmitter_getSchemaForStdScalars = function _JsonSchemaEmitter_getSchemaForStdScalars(baseBuiltIn) {
462
- var _a, _b;
463
- switch (baseBuiltIn.name) {
464
- case "uint8":
465
- return { type: "integer", minimum: 0, maximum: 255 };
466
- case "uint16":
467
- return { type: "integer", minimum: 0, maximum: 65535 };
468
- case "uint32":
469
- return { type: "integer", minimum: 0, maximum: 4294967295 };
470
- case "int8":
471
- return { type: "integer", minimum: -128, maximum: 127 };
472
- case "int16":
473
- return { type: "integer", minimum: -32768, maximum: 32767 };
474
- case "int32":
475
- return { type: "integer", minimum: -2147483648, maximum: 2147483647 };
476
- case "int64":
477
- const int64Strategy = (_a = this.emitter.getOptions()["int64-strategy"]) !== null && _a !== void 0 ? _a : "string";
478
- if (int64Strategy === "string") {
479
- return { type: "string" };
480
- }
481
- else {
482
- // can't use minimum and maximum because we can't actually encode these values as literals
483
- // without losing precision.
484
- return { type: "integer" };
485
- }
486
- case "uint64":
487
- const uint64Strategy = (_b = this.emitter.getOptions()["int64-strategy"]) !== null && _b !== void 0 ? _b : "string";
488
- if (uint64Strategy === "string") {
489
- return { type: "string" };
490
- }
491
- else {
492
- // can't use minimum and maximum because we can't actually encode these values as literals
493
- // without losing precision.
494
- return { type: "integer" };
495
- }
496
- case "decimal":
497
- case "decimal128":
498
- return { type: "string" };
499
- case "integer":
500
- return { type: "integer" };
501
- case "safeint":
502
- return { type: "integer" };
503
- case "float":
504
- return { type: "number" };
505
- case "float32":
506
- return { type: "number" };
507
- case "float64":
508
- return { type: "number" };
509
- case "numeric":
510
- return { type: "number" };
511
- case "string":
512
- return { type: "string" };
513
- case "boolean":
514
- return { type: "boolean" };
515
- case "plainDate":
516
- return { type: "string", format: "date" };
517
- case "plainTime":
518
- return { type: "string", format: "time" };
519
- case "offsetDateTime":
520
- case "utcDateTime":
521
- return { type: "string", format: "date-time" };
522
- case "duration":
523
- return { type: "string", format: "duration" };
524
- case "url":
525
- return { type: "string", format: "uri" };
526
- case "bytes":
527
- return { type: "string", contentEncoding: "base64" };
528
- default:
529
- compilerAssert(false, `Unknown built-in scalar type ${baseBuiltIn.name}`);
530
- }
531
- }, _JsonSchemaEmitter_applyConstraints = function _JsonSchemaEmitter_applyConstraints(type, schema) {
532
- var _a;
533
- const applyConstraint = (fn, key) => {
534
- const value = fn(this.emitter.getProgram(), type);
535
- if (value !== undefined) {
536
- schema[key] = value;
537
- }
538
- };
539
- const applyTypeConstraint = (fn, key) => {
540
- const constraintType = fn(this.emitter.getProgram(), type);
541
- if (constraintType) {
542
- const ref = this.emitter.emitTypeReference(constraintType);
543
- compilerAssert(ref.kind === "code", "Unexpected non-code result from emit reference");
544
- schema.set(key, ref.value);
545
- }
546
- };
547
- applyConstraint(getMinLength, "minLength");
548
- applyConstraint(getMaxLength, "maxLength");
549
- applyConstraint(getMinValue, "minimum");
550
- applyConstraint(getMinValueExclusive, "exclusiveMinimum");
551
- applyConstraint(getMaxValue, "maximum");
552
- applyConstraint(getMaxValueExclusive, "exclusiveMaximum");
553
- applyConstraint(getPattern, "pattern");
554
- applyConstraint(getMinItems, "minItems");
555
- applyConstraint(getMaxItems, "maxItems");
556
- // the stdlib applies a format of "url" but json schema wants "uri",
557
- // so ignore this format if it's the built-in type.
558
- if (!__classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_isStdType).call(this, type) || type.name !== "url") {
559
- applyConstraint(getFormat, "format");
560
- }
561
- applyConstraint(getMultipleOf, "multipleOf");
562
- applyTypeConstraint(getContains, "contains");
563
- applyConstraint(getMinContains, "minContains");
564
- applyConstraint(getMaxContains, "maxContains");
565
- applyConstraint(getUniqueItems, "uniqueItems");
566
- applyConstraint(getMinProperties, "minProperties");
567
- applyConstraint(getMaxProperties, "maxProperties");
568
- applyConstraint(getContentEncoding, "contentEncoding");
569
- applyConstraint(getContentMediaType, "contentMediaType");
570
- applyTypeConstraint(getContentSchema, "contentSchema");
571
- applyConstraint(getDoc, "description");
572
- applyConstraint(getSummary, "title");
573
- applyConstraint((p, t) => (getDeprecated(p, t) !== undefined ? true : undefined), "deprecated");
574
- const prefixItems = getPrefixItems(this.emitter.getProgram(), type);
575
- if (prefixItems) {
576
- const prefixItemsSchema = new ArrayBuilder();
577
- for (const item of prefixItems.values) {
578
- prefixItemsSchema.push(this.emitter.emitTypeReference(item));
579
- }
580
- schema.set("prefixItems", prefixItemsSchema);
581
- }
582
- const extensions = getExtensions(this.emitter.getProgram(), type);
583
- for (const extension of extensions) {
584
- // todo: fix up when we have an authoritative way to ask "am I an instantiation of that template"
585
- if (extension.value.kind === "Model" &&
586
- extension.value.name === "Json" &&
587
- ((_a = extension.value.namespace) === null || _a === void 0 ? void 0 : _a.name) === "JsonSchema") {
588
- // we check in a decorator
589
- schema.set(extension.key, typespecTypeToJson(extension.value.properties.get("value").type, null)[0]);
590
- }
591
- else {
592
- schema.set(extension.key, this.emitter.emitTypeReference(extension.value));
648
+ return this.#newFileScope(scalar);
593
649
  }
594
650
  }
595
- }, _JsonSchemaEmitter_createDeclaration = function _JsonSchemaEmitter_createDeclaration(type, name, schema) {
596
- const decl = this.emitter.result.declaration(name, schema);
597
- if (!this.emitter.getOptions().bundleId && !this.emitter.getOptions().emitAllRefs) {
598
- const declSf = this.emitter.getContext().scope.sourceFile;
599
- declSf.meta.shouldEmit = isJsonSchemaDeclaration(this.emitter.getProgram(), type);
651
+ #newFileScope(type) {
652
+ const sourceFile = this.emitter.createSourceFile(`${this.declarationName(type)}.${this.#fileExtension()}`);
653
+ sourceFile.meta.shouldEmit = true;
654
+ sourceFile.meta.bundledRefs = [];
655
+ this.#typeForSourceFile.set(sourceFile, type);
656
+ return {
657
+ scope: sourceFile.globalScope,
658
+ };
600
659
  }
601
- return decl;
602
- }, _JsonSchemaEmitter_isStdType = function _JsonSchemaEmitter_isStdType(type) {
603
- return this.emitter.getProgram().checker.isStdType(type);
604
- }, _JsonSchemaEmitter_reportDuplicateIds = function _JsonSchemaEmitter_reportDuplicateIds() {
605
- for (const [id, targets] of __classPrivateFieldGet(this, _JsonSchemaEmitter_idDuplicateTracker, "f").entries()) {
606
- for (const target of targets) {
607
- reportDiagnostic(this.emitter.getProgram(), {
608
- code: "duplicate-id",
609
- format: { id },
610
- target: target,
611
- });
612
- }
660
+ #fileExtension() {
661
+ return this.emitter.getOptions()["file-type"] === "json" ? "json" : "yaml";
613
662
  }
614
- }, _JsonSchemaEmitter_getCurrentSourceFile = function _JsonSchemaEmitter_getCurrentSourceFile() {
615
- let scope = this.emitter.getContext().scope;
616
- compilerAssert(scope, "Scope should exists");
617
- while (scope && scope.kind !== "sourceFile") {
618
- scope = scope.parentScope;
619
- }
620
- compilerAssert(scope, "Top level scope should be a source file");
621
- return scope.sourceFile;
622
- }, _JsonSchemaEmitter_getDeclId = function _JsonSchemaEmitter_getDeclId(type, name) {
623
- const baseUri = findBaseUri(this.emitter.getProgram(), type);
624
- const explicitId = getId(this.emitter.getProgram(), type);
625
- if (explicitId) {
626
- return __classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_trackId).call(this, idWithBaseURI(explicitId, baseUri), type);
627
- }
628
- // generate an id
629
- if (this.emitter.getOptions().bundleId) {
630
- compilerAssert(type.name, "Type needs a name to emit a declaration id");
631
- return __classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_trackId).call(this, idWithBaseURI(name, baseUri), type);
632
- }
633
- else {
634
- // generate the ID based on the file path
635
- const base = this.emitter.getOptions().emitterOutputDir;
636
- const file = __classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_getCurrentSourceFile).call(this).path;
637
- const relative = getRelativePathFromDirectory(base, file, false);
638
- if (baseUri) {
639
- return __classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_trackId).call(this, new URL(relative, baseUri).href, type);
640
- }
641
- else {
642
- return __classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_trackId).call(this, relative, type);
643
- }
644
- }
645
- function idWithBaseURI(id, baseUri) {
646
- if (baseUri) {
647
- return new URL(id, baseUri).href;
648
- }
649
- else {
650
- return id;
651
- }
652
- }
653
- }, _JsonSchemaEmitter_trackId = function _JsonSchemaEmitter_trackId(id, target) {
654
- __classPrivateFieldGet(this, _JsonSchemaEmitter_idDuplicateTracker, "f").track(id, target);
655
- return id;
656
- }, _JsonSchemaEmitter_newFileScope = function _JsonSchemaEmitter_newFileScope(type) {
657
- const sourceFile = this.emitter.createSourceFile(`${this.declarationName(type)}.${__classPrivateFieldGet(this, _JsonSchemaEmitter_instances, "m", _JsonSchemaEmitter_fileExtension).call(this)}`);
658
- sourceFile.meta.shouldEmit = true;
659
- sourceFile.meta.bundledRefs = [];
660
- __classPrivateFieldGet(this, _JsonSchemaEmitter_typeForSourceFile, "f").set(sourceFile, type);
661
- return {
662
- scope: sourceFile.globalScope,
663
- };
664
- }, _JsonSchemaEmitter_fileExtension = function _JsonSchemaEmitter_fileExtension() {
665
- return this.emitter.getOptions()["file-type"] === "json" ? "json" : "yaml";
666
- };
663
+ }
667
664
  //# sourceMappingURL=json-schema-emitter.js.map
@@ -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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typespec/json-schema",
3
- "version": "0.56.0-dev.1",
3
+ "version": "0.56.0-dev.3",
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",
@@ -44,19 +44,16 @@
44
44
  "devDependencies": {
45
45
  "@types/node": "~18.11.19",
46
46
  "@typespec/compiler": "~0.55.0 || >=0.56.0-dev <0.56.0",
47
- "@typespec/eslint-config-typespec": "~0.55.0 || >=0.56.0-dev <0.56.0",
48
- "@typespec/eslint-plugin": "~0.55.0 || >=0.56.0-dev <0.56.0",
49
47
  "@typespec/internal-build-utils": "~0.55.0 || >=0.56.0-dev <0.56.0",
50
48
  "@typespec/library-linter": "~0.55.0 || >=0.56.0-dev <0.56.0",
51
- "@vitest/coverage-v8": "^1.4.0",
52
- "@vitest/ui": "^1.4.0",
49
+ "@vitest/coverage-v8": "^1.5.0",
50
+ "@vitest/ui": "^1.5.0",
53
51
  "ajv": "~8.12.0",
54
- "ajv-formats": "~2.1.1",
52
+ "ajv-formats": "~3.0.1",
55
53
  "c8": "^9.1.0",
56
- "eslint": "^8.57.0",
57
54
  "rimraf": "~5.0.5",
58
- "typescript": "~5.4.3",
59
- "vitest": "^1.4.0",
55
+ "typescript": "~5.4.5",
56
+ "vitest": "^1.5.0",
60
57
  "@typespec/tspd": "~0.46.0"
61
58
  },
62
59
  "dependencies": {
@@ -71,8 +68,8 @@
71
68
  "test": "vitest run",
72
69
  "test:ui": "vitest --ui",
73
70
  "test:ci": "vitest run --coverage --reporter=junit --reporter=default",
74
- "lint": "eslint . --ext .ts --max-warnings=0",
75
- "lint:fix": "eslint . --fix --ext .ts",
71
+ "lint": "eslint . --max-warnings=0",
72
+ "lint:fix": "eslint . --fix",
76
73
  "regen-docs": "tspd doc . --enable-experimental --output-dir ../../docs/libraries/json-schema/reference"
77
74
  }
78
75
  }