@typespec/json-schema 1.7.0-dev.2 → 1.7.0-dev.4
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 +5 -1
- package/dist/src/json-schema-emitter.js +181 -7
- package/dist/src/json-schema-emitter.js.map +1 -1
- package/dist/src/lib.d.ts.map +1 -1
- package/dist/src/lib.js +5 -1
- package/dist/src/lib.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -107,10 +107,14 @@ Default: `false`
|
|
|
107
107
|
|
|
108
108
|
Strategy for emitting models with the @discriminator decorator:
|
|
109
109
|
|
|
110
|
-
- ignore: Emit as regular object schema (default)
|
|
110
|
+
- ignore: Emit as regular object schema (default). Derived models use allOf to reference their base model.
|
|
111
111
|
- oneOf: Emit a oneOf schema with references to all derived models (closed union)
|
|
112
112
|
- anyOf: Emit an anyOf schema with references to all derived models (open union)
|
|
113
113
|
|
|
114
|
+
When using oneOf or anyOf, derived models will inline all properties from their base model
|
|
115
|
+
instead of using allOf references. This avoids circular references in the generated schemas,
|
|
116
|
+
since the base model references derived models via oneOf/anyOf.
|
|
117
|
+
|
|
114
118
|
## Decorators
|
|
115
119
|
|
|
116
120
|
### TypeSpec.JsonSchema
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ArrayBuilder, Declaration, ObjectBuilder, Placeholder, TypeEmitter, setProperty, } from "@typespec/asset-emitter";
|
|
2
|
-
import { compilerAssert, emitFile, explainStringTemplateNotSerializable, getDeprecated, getDirectoryPath, getDiscriminator, getDoc, getExamples, getFormat, getMaxItems, getMaxLength, getMaxValue, getMaxValueExclusive, getMinItems, getMinLength, getMinValue, getMinValueExclusive, getPattern, getRelativePathFromDirectory, getSummary, isType, joinPaths, serializeValueAsJson, } from "@typespec/compiler";
|
|
2
|
+
import { compilerAssert, emitFile, explainStringTemplateNotSerializable, getDeprecated, getDirectoryPath, getDiscriminator, getDoc, getExamples, getFormat, getMaxItems, getMaxLength, getMaxValue, getMaxValueExclusive, getMinItems, getMinLength, getMinValue, getMinValueExclusive, getPattern, getRelativePathFromDirectory, getSummary, isStringType, isType, joinPaths, serializeValueAsJson, } from "@typespec/compiler";
|
|
3
3
|
import { DuplicateTracker } from "@typespec/compiler/utils";
|
|
4
4
|
import { stringify } from "yaml";
|
|
5
5
|
import { findBaseUri, getContains, getContentEncoding, getContentMediaType, getContentSchema, getExtensions, getId, getMaxContains, getMaxProperties, getMinContains, getMinProperties, getMultipleOf, getPrefixItems, getUniqueItems, isJsonSchemaDeclaration, isOneOf, } from "./index.js";
|
|
@@ -30,12 +30,19 @@ export class JsonSchemaEmitter extends TypeEmitter {
|
|
|
30
30
|
model.derivedModels.length > 0) {
|
|
31
31
|
return this.#createDiscriminatedUnionDeclaration(model, name, discriminator, strategy);
|
|
32
32
|
}
|
|
33
|
+
// Check if base model is using discriminated union strategy
|
|
34
|
+
// If so, don't use allOf (to avoid circular references), inline properties instead
|
|
35
|
+
const shouldInlineBase = model.baseModel && this.#isBaseUsingDiscriminatedUnion(model.baseModel);
|
|
33
36
|
const schema = this.#initializeSchema(model, name, {
|
|
34
37
|
type: "object",
|
|
35
|
-
properties:
|
|
36
|
-
|
|
38
|
+
properties: shouldInlineBase
|
|
39
|
+
? this.#getAllModelProperties(model)
|
|
40
|
+
: this.emitter.emitModelProperties(model),
|
|
41
|
+
required: shouldInlineBase
|
|
42
|
+
? this.#getAllRequiredModelProperties(model)
|
|
43
|
+
: this.#requiredModelProperties(model),
|
|
37
44
|
});
|
|
38
|
-
if (model.baseModel) {
|
|
45
|
+
if (model.baseModel && !shouldInlineBase) {
|
|
39
46
|
const allOf = new ArrayBuilder();
|
|
40
47
|
allOf.push(this.emitter.emitTypeReference(model.baseModel));
|
|
41
48
|
setProperty(schema, "allOf", allOf);
|
|
@@ -44,6 +51,13 @@ export class JsonSchemaEmitter extends TypeEmitter {
|
|
|
44
51
|
this.#applyConstraints(model, schema);
|
|
45
52
|
return this.#createDeclaration(model, name, schema);
|
|
46
53
|
}
|
|
54
|
+
#isBaseUsingDiscriminatedUnion(model) {
|
|
55
|
+
const discriminator = getDiscriminator(this.emitter.getProgram(), model);
|
|
56
|
+
const strategy = this.emitter.getOptions()["polymorphic-models-strategy"];
|
|
57
|
+
return ((strategy === "oneOf" || strategy === "anyOf") &&
|
|
58
|
+
!!discriminator &&
|
|
59
|
+
model.derivedModels.length > 0);
|
|
60
|
+
}
|
|
47
61
|
modelLiteral(model) {
|
|
48
62
|
const schema = new ObjectBuilder({
|
|
49
63
|
type: "object",
|
|
@@ -87,6 +101,64 @@ export class JsonSchemaEmitter extends TypeEmitter {
|
|
|
87
101
|
}
|
|
88
102
|
return requiredProps.length > 0 ? requiredProps : undefined;
|
|
89
103
|
}
|
|
104
|
+
// Get all required properties including inherited ones (for when base uses discriminated union)
|
|
105
|
+
#getAllRequiredModelProperties(model) {
|
|
106
|
+
const requiredProps = [];
|
|
107
|
+
const visited = new Set();
|
|
108
|
+
const collectRequired = (m) => {
|
|
109
|
+
if (visited.has(m))
|
|
110
|
+
return;
|
|
111
|
+
visited.add(m);
|
|
112
|
+
// Collect from base first
|
|
113
|
+
if (m.baseModel) {
|
|
114
|
+
collectRequired(m.baseModel);
|
|
115
|
+
}
|
|
116
|
+
// Then collect from this model
|
|
117
|
+
for (const prop of m.properties.values()) {
|
|
118
|
+
if (!prop.optional && !requiredProps.includes(prop.name)) {
|
|
119
|
+
requiredProps.push(prop.name);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
// Add discriminator property if defined on this model
|
|
123
|
+
const discriminator = getDiscriminator(this.emitter.getProgram(), m);
|
|
124
|
+
if (discriminator &&
|
|
125
|
+
!m.properties.has(discriminator.propertyName) &&
|
|
126
|
+
!requiredProps.includes(discriminator.propertyName)) {
|
|
127
|
+
requiredProps.push(discriminator.propertyName);
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
collectRequired(model);
|
|
131
|
+
return requiredProps.length > 0 ? requiredProps : undefined;
|
|
132
|
+
}
|
|
133
|
+
// Get all properties including inherited ones (for when base uses discriminated union)
|
|
134
|
+
#getAllModelProperties(model) {
|
|
135
|
+
const props = new ObjectBuilder();
|
|
136
|
+
const visited = new Set();
|
|
137
|
+
const collectProperties = (m) => {
|
|
138
|
+
if (visited.has(m))
|
|
139
|
+
return;
|
|
140
|
+
visited.add(m);
|
|
141
|
+
// Collect from base first
|
|
142
|
+
if (m.baseModel) {
|
|
143
|
+
collectProperties(m.baseModel);
|
|
144
|
+
}
|
|
145
|
+
// Then collect from this model (overriding base if needed)
|
|
146
|
+
for (const [name, prop] of m.properties) {
|
|
147
|
+
const result = this.emitter.emitModelProperty(prop);
|
|
148
|
+
setProperty(props, name, result);
|
|
149
|
+
}
|
|
150
|
+
// Add discriminator property if defined on this model and not already added
|
|
151
|
+
const discriminator = getDiscriminator(this.emitter.getProgram(), m);
|
|
152
|
+
if (discriminator && !(discriminator.propertyName in props)) {
|
|
153
|
+
setProperty(props, discriminator.propertyName, {
|
|
154
|
+
type: "string",
|
|
155
|
+
description: `Discriminator property for ${m.name}.`,
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
};
|
|
159
|
+
collectProperties(model);
|
|
160
|
+
return props;
|
|
161
|
+
}
|
|
90
162
|
modelProperties(model) {
|
|
91
163
|
const props = new ObjectBuilder();
|
|
92
164
|
for (const [name, prop] of model.properties) {
|
|
@@ -491,15 +563,27 @@ export class JsonSchemaEmitter extends TypeEmitter {
|
|
|
491
563
|
}
|
|
492
564
|
#createDiscriminatedUnionDeclaration(model, name, discriminator, strategy) {
|
|
493
565
|
const variants = new ArrayBuilder();
|
|
494
|
-
|
|
566
|
+
const knownDiscriminatorValues = [];
|
|
567
|
+
// Collect all derived models and their discriminator values
|
|
495
568
|
for (const derived of model.derivedModels) {
|
|
496
569
|
if (!includeDerivedModel(derived))
|
|
497
570
|
continue;
|
|
498
571
|
// Add reference to each derived model
|
|
499
572
|
const derivedRef = this.emitter.emitTypeReference(derived);
|
|
500
573
|
variants.push(derivedRef);
|
|
501
|
-
|
|
502
|
-
|
|
574
|
+
// Collect discriminator values for catch-all generation
|
|
575
|
+
const values = this.#getDiscriminatorValues(derived, discriminator.propertyName);
|
|
576
|
+
knownDiscriminatorValues.push(...values);
|
|
577
|
+
}
|
|
578
|
+
// Check if this is an open discriminator (discriminator property type includes string)
|
|
579
|
+
// If so, add a catch-all variant that matches any unknown discriminator value
|
|
580
|
+
if (this.#isOpenDiscriminator(model, discriminator.propertyName)) {
|
|
581
|
+
const catchAllVariant = this.#createCatchAllVariant(model, discriminator.propertyName, knownDiscriminatorValues);
|
|
582
|
+
variants.push(catchAllVariant);
|
|
583
|
+
}
|
|
584
|
+
// For discriminated unions, emit the oneOf/anyOf with base model properties
|
|
585
|
+
// Since derived models inline properties (not using allOf), we can include
|
|
586
|
+
// base properties here without creating circular references
|
|
503
587
|
const schema = this.#initializeSchema(model, name, {
|
|
504
588
|
type: "object",
|
|
505
589
|
properties: this.emitter.emitModelProperties(model),
|
|
@@ -509,6 +593,96 @@ export class JsonSchemaEmitter extends TypeEmitter {
|
|
|
509
593
|
this.#applyConstraints(model, schema);
|
|
510
594
|
return this.#createDeclaration(model, name, schema);
|
|
511
595
|
}
|
|
596
|
+
/**
|
|
597
|
+
* Check if the discriminator property type is "open" (includes the string scalar type).
|
|
598
|
+
* This means the discriminated union can accept unknown discriminator values.
|
|
599
|
+
*/
|
|
600
|
+
#isOpenDiscriminator(model, discriminatorPropertyName) {
|
|
601
|
+
const prop = model.properties.get(discriminatorPropertyName);
|
|
602
|
+
if (!prop)
|
|
603
|
+
return false;
|
|
604
|
+
return this.#typeIncludesString(prop.type);
|
|
605
|
+
}
|
|
606
|
+
/**
|
|
607
|
+
* Check if a type includes the string scalar (not just string literals).
|
|
608
|
+
*/
|
|
609
|
+
#typeIncludesString(type) {
|
|
610
|
+
const program = this.emitter.getProgram();
|
|
611
|
+
switch (type.kind) {
|
|
612
|
+
case "Scalar":
|
|
613
|
+
return isStringType(program, type);
|
|
614
|
+
case "Union":
|
|
615
|
+
// Check if any variant is the string scalar
|
|
616
|
+
for (const variant of type.variants.values()) {
|
|
617
|
+
if (this.#typeIncludesString(variant.type)) {
|
|
618
|
+
return true;
|
|
619
|
+
}
|
|
620
|
+
}
|
|
621
|
+
return false;
|
|
622
|
+
default:
|
|
623
|
+
return false;
|
|
624
|
+
}
|
|
625
|
+
}
|
|
626
|
+
/**
|
|
627
|
+
* Get string discriminator values from a model's discriminator property.
|
|
628
|
+
*/
|
|
629
|
+
#getDiscriminatorValues(model, discriminatorPropertyName) {
|
|
630
|
+
const prop = model.properties.get(discriminatorPropertyName);
|
|
631
|
+
if (!prop)
|
|
632
|
+
return [];
|
|
633
|
+
return this.#getStringLiteralValues(prop.type);
|
|
634
|
+
}
|
|
635
|
+
/**
|
|
636
|
+
* Extract string literal values from a type.
|
|
637
|
+
*/
|
|
638
|
+
#getStringLiteralValues(type) {
|
|
639
|
+
switch (type.kind) {
|
|
640
|
+
case "String":
|
|
641
|
+
return [type.value];
|
|
642
|
+
case "Union":
|
|
643
|
+
return [...type.variants.values()].flatMap((v) => this.#getStringLiteralValues(v.type));
|
|
644
|
+
case "UnionVariant":
|
|
645
|
+
return this.#getStringLiteralValues(type.type);
|
|
646
|
+
case "EnumMember":
|
|
647
|
+
return typeof type.value !== "number" ? [type.value ?? type.name] : [];
|
|
648
|
+
default:
|
|
649
|
+
return [];
|
|
650
|
+
}
|
|
651
|
+
}
|
|
652
|
+
/**
|
|
653
|
+
* Create a catch-all variant for open discriminated unions.
|
|
654
|
+
* This variant matches any discriminator value not in the known values.
|
|
655
|
+
*/
|
|
656
|
+
#createCatchAllVariant(model, discriminatorPropertyName, knownValues) {
|
|
657
|
+
const properties = new ObjectBuilder();
|
|
658
|
+
// Emit all base model properties
|
|
659
|
+
for (const [propName, prop] of model.properties) {
|
|
660
|
+
if (propName === discriminatorPropertyName) {
|
|
661
|
+
// Override discriminator property to match any string NOT in known values
|
|
662
|
+
setProperty(properties, propName, {
|
|
663
|
+
type: "string",
|
|
664
|
+
not: { enum: knownValues },
|
|
665
|
+
});
|
|
666
|
+
}
|
|
667
|
+
else {
|
|
668
|
+
const result = this.emitter.emitModelProperty(prop);
|
|
669
|
+
setProperty(properties, propName, result);
|
|
670
|
+
}
|
|
671
|
+
}
|
|
672
|
+
// If discriminator property is not explicitly defined, add it
|
|
673
|
+
if (!model.properties.has(discriminatorPropertyName)) {
|
|
674
|
+
setProperty(properties, discriminatorPropertyName, {
|
|
675
|
+
type: "string",
|
|
676
|
+
not: { enum: knownValues },
|
|
677
|
+
});
|
|
678
|
+
}
|
|
679
|
+
const required = this.#requiredModelProperties(model);
|
|
680
|
+
return {
|
|
681
|
+
type: "object",
|
|
682
|
+
properties: properties,
|
|
683
|
+
...(required && { required }),
|
|
684
|
+
};
|
|
685
|
+
}
|
|
512
686
|
intrinsic(intrinsic, name) {
|
|
513
687
|
switch (intrinsic.name) {
|
|
514
688
|
case "null":
|
|
@@ -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.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EAEpB,MAAM,oBAAoB,CAAC;AAE5B;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAEvC;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,MAAM,yBAAyB,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;OAGG;IACH,WAAW,CAAC,EAAE,QAAQ,CAAC;IAEvB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,aAAa,CAAC;IAEjC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;;;;;OAMG;IACH,6BAA6B,CAAC,EAAE,yBAAyB,CAAC;CAC3D;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,cAAc,CAAC,wBAAwB,
|
|
1
|
+
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EAEpB,MAAM,oBAAoB,CAAC;AAE5B;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAEvC;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,MAAM,yBAAyB,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;OAGG;IACH,WAAW,CAAC,EAAE,QAAQ,CAAC;IAEvB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,aAAa,CAAC;IAEjC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;;;;;OAMG;IACH,6BAA6B,CAAC,EAAE,yBAAyB,CAAC;CAC3D;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,cAAc,CAAC,wBAAwB,CAiEzE,CAAC;AAEF,4CAA4C;AAC5C,eAAO,MAAM,IAAI;;;;;;;;;;qbA6DN,CAAC;AAEZ,+BAA+B;AAC/B,eAAO,MAAM,MAAM,2CAAyB,CAAC;AAE7C,eAAO,MAAQ,gBAAgB;;;;;;;;;;;;;;;;;;;;mBAAE,iBAAiB,4BAAa,mBAAmB,yaAAS,CAAC;AAE5F,MAAM,MAAM,iBAAiB,GAAG,OAAO,IAAI,CAAC"}
|
package/dist/src/lib.js
CHANGED
|
@@ -53,9 +53,13 @@ export const EmitterOptionsSchema = {
|
|
|
53
53
|
default: "ignore",
|
|
54
54
|
description: [
|
|
55
55
|
"Strategy for emitting models with the @discriminator decorator:",
|
|
56
|
-
"- ignore: Emit as regular object schema (default)",
|
|
56
|
+
"- ignore: Emit as regular object schema (default). Derived models use allOf to reference their base model.",
|
|
57
57
|
"- oneOf: Emit a oneOf schema with references to all derived models (closed union)",
|
|
58
58
|
"- anyOf: Emit an anyOf schema with references to all derived models (open union)",
|
|
59
|
+
"",
|
|
60
|
+
"When using oneOf or anyOf, derived models will inline all properties from their base model",
|
|
61
|
+
"instead of using allOf references. This avoids circular references in the generated schemas,",
|
|
62
|
+
"since the base model references derived models via oneOf/anyOf.",
|
|
59
63
|
].join("\n"),
|
|
60
64
|
},
|
|
61
65
|
},
|
package/dist/src/lib.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAElB,YAAY,GACb,MAAM,oBAAoB,CAAC;AA8E5B;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAA6C;IAC5E,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,UAAU,EAAE;QACV,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;YACtB,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,8CAA8C;SAC5D;QACD,gBAAgB,EAAE;YAChB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;YAC1B,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE;;;2DAGwC;SACtD;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,WAAW,EACT,uLAAuL;SAC1L;QACD,aAAa,EAAE;YACb,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,WAAW,EACT,oGAAoG;SACvG;QACD,WAAW,EAAE;YACX,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,WAAW,EACT,2LAA2L;SAC9L;QACD,qBAAqB,EAAE;YACrB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,KAAK;YACd,WAAW,EAAE;gBACX,yGAAyG;gBACzG,wCAAwC;gBACxC,kBAAkB;aACnB,CAAC,IAAI,CAAC,IAAI,CAAC;SACb;QACD,6BAA6B,EAAE;YAC7B,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC;YAClC,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,QAAQ;YACjB,WAAW,EAAE;gBACX,iEAAiE;gBACjE,
|
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.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": "1.7.0-dev.
|
|
3
|
+
"version": "1.7.0-dev.4",
|
|
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",
|