@typespec-dev/emitter-typebox 0.3.0 → 0.4.0
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/components/TypeBoxSchema.d.ts.map +1 -1
- package/dist/src/components/TypeBoxSchema.js +6 -2
- package/dist/src/components/TypeBoxSchema.js.map +1 -1
- package/dist/src/components/TypeBoxSchema.jsx +6 -2
- package/dist/src/components/TypeBoxSchema.jsx.map +1 -1
- package/dist/src/typeboxBaseSchema.d.ts +2 -1
- package/dist/src/typeboxBaseSchema.d.ts.map +1 -1
- package/dist/src/typeboxBaseSchema.js +139 -41
- package/dist/src/typeboxBaseSchema.js.map +1 -1
- package/dist/src/typeboxBaseSchema.jsx +112 -24
- package/dist/src/typeboxBaseSchema.jsx.map +1 -1
- package/dist/test/dictionaries.test.js +14 -0
- package/dist/test/dictionaries.test.js.map +1 -1
- package/dist/test/dictionaries.test.jsx +10 -0
- package/dist/test/dictionaries.test.jsx.map +1 -1
- package/dist/test/discriminated-unions.test.d.ts +2 -0
- package/dist/test/discriminated-unions.test.d.ts.map +1 -0
- package/dist/test/discriminated-unions.test.js +156 -0
- package/dist/test/discriminated-unions.test.js.map +1 -0
- package/dist/test/discriminated-unions.test.jsx +105 -0
- package/dist/test/discriminated-unions.test.jsx.map +1 -0
- package/dist/test/emitter/custom-scalars.test.d.ts +2 -0
- package/dist/test/emitter/custom-scalars.test.d.ts.map +1 -0
- package/dist/test/emitter/custom-scalars.test.js +42 -0
- package/dist/test/emitter/custom-scalars.test.js.map +1 -0
- package/dist/test/emitter/custom-scalars.test.jsx +38 -0
- package/dist/test/emitter/custom-scalars.test.jsx.map +1 -0
- package/dist/test/emitter/discriminated-unions.test.d.ts +2 -0
- package/dist/test/emitter/discriminated-unions.test.d.ts.map +1 -0
- package/dist/test/emitter/discriminated-unions.test.js +52 -0
- package/dist/test/emitter/discriminated-unions.test.js.map +1 -0
- package/dist/test/emitter/discriminated-unions.test.jsx +48 -0
- package/dist/test/emitter/discriminated-unions.test.jsx.map +1 -0
- package/dist/test/emitter/inheritance.test.d.ts +2 -0
- package/dist/test/emitter/inheritance.test.d.ts.map +1 -0
- package/dist/test/emitter/inheritance.test.js +56 -0
- package/dist/test/emitter/inheritance.test.js.map +1 -0
- package/dist/test/emitter/inheritance.test.jsx +50 -0
- package/dist/test/emitter/inheritance.test.jsx.map +1 -0
- package/dist/test/emitter/recursive.test.d.ts +2 -0
- package/dist/test/emitter/recursive.test.d.ts.map +1 -0
- package/dist/test/emitter/recursive.test.js +36 -0
- package/dist/test/emitter/recursive.test.js.map +1 -0
- package/dist/test/emitter/recursive.test.jsx +32 -0
- package/dist/test/emitter/recursive.test.jsx.map +1 -0
- package/dist/test/emitter/tuples.test.d.ts +2 -0
- package/dist/test/emitter/tuples.test.d.ts.map +1 -0
- package/dist/test/emitter/tuples.test.js +22 -0
- package/dist/test/emitter/tuples.test.js.map +1 -0
- package/dist/test/emitter/tuples.test.jsx +20 -0
- package/dist/test/emitter/tuples.test.jsx.map +1 -0
- package/dist/test/inheritance.test.d.ts +2 -0
- package/dist/test/inheritance.test.d.ts.map +1 -0
- package/dist/test/inheritance.test.js +162 -0
- package/dist/test/inheritance.test.js.map +1 -0
- package/dist/test/inheritance.test.jsx +92 -0
- package/dist/test/inheritance.test.jsx.map +1 -0
- package/dist/test/models.test.js +35 -0
- package/dist/test/models.test.js.map +1 -1
- package/dist/test/models.test.jsx +27 -0
- package/dist/test/models.test.jsx.map +1 -1
- package/dist/test/recursive.test.d.ts +2 -0
- package/dist/test/recursive.test.d.ts.map +1 -0
- package/dist/test/recursive.test.js +137 -0
- package/dist/test/recursive.test.js.map +1 -0
- package/dist/test/recursive.test.jsx +75 -0
- package/dist/test/recursive.test.jsx.map +1 -0
- package/dist/test/tuples.test.d.ts +2 -0
- package/dist/test/tuples.test.d.ts.map +1 -0
- package/dist/test/tuples.test.js +67 -0
- package/dist/test/tuples.test.js.map +1 -0
- package/dist/test/tuples.test.jsx +42 -0
- package/dist/test/tuples.test.jsx.map +1 -0
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypeBoxSchema.d.ts","sourceRoot":"","sources":["../../../src/components/TypeBoxSchema.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"TypeBoxSchema.d.ts","sourceRoot":"","sources":["../../../src/components/TypeBoxSchema.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAsB,MAAM,gBAAgB,CAAC;AAE9D,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAK1C,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,QAAQ,CAuBjE"}
|
|
@@ -1,19 +1,23 @@
|
|
|
1
1
|
import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
|
|
2
|
-
import { refkey } from '@alloy-js/core';
|
|
2
|
+
import { refkey, useContext } from '@alloy-js/core';
|
|
3
3
|
import { MemberExpression } from '@alloy-js/typescript';
|
|
4
4
|
import { useTsp } from '@typespec/emitter-framework';
|
|
5
|
-
import { typeboxBaseSchemaParts } from "../typeboxBaseSchema.js";
|
|
5
|
+
import { RecursiveModelContext, typeboxBaseSchemaParts } from "../typeboxBaseSchema.js";
|
|
6
6
|
import { refkeySym, shouldReference } from "../utils.js";
|
|
7
7
|
export function TypeBoxSchema(props) {
|
|
8
8
|
const {
|
|
9
9
|
$
|
|
10
10
|
} = useTsp();
|
|
11
|
+
const recursiveModel = useContext(RecursiveModelContext);
|
|
11
12
|
const member = $.modelProperty.is(props.type) ? props.type : undefined;
|
|
12
13
|
const type = member ? member.type : props.type;
|
|
13
14
|
if (!props.nested) {
|
|
14
15
|
return typeboxBaseSchemaParts(type, member);
|
|
15
16
|
}
|
|
16
17
|
if (shouldReference($.program, type)) {
|
|
18
|
+
if (recursiveModel && type === recursiveModel) {
|
|
19
|
+
return 'This';
|
|
20
|
+
}
|
|
17
21
|
return _$createComponent(MemberExpression, {
|
|
18
22
|
get children() {
|
|
19
23
|
return _$createComponent(MemberExpression.Part, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["refkey","MemberExpression","useTsp","typeboxBaseSchemaParts","refkeySym","shouldReference","TypeBoxSchema","props","$","member","modelProperty","is","type","undefined","nested","program","_$createComponent","children","Part"],"sources":["../../../src/components/TypeBoxSchema.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAAmBA,MAAM,QAAQ,gBAAgB;
|
|
1
|
+
{"version":3,"names":["refkey","useContext","MemberExpression","useTsp","RecursiveModelContext","typeboxBaseSchemaParts","refkeySym","shouldReference","TypeBoxSchema","props","$","recursiveModel","member","modelProperty","is","type","undefined","nested","program","_$createComponent","children","Part"],"sources":["../../../src/components/TypeBoxSchema.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAAmBA,MAAM,EAAEC,UAAU,QAAQ,gBAAgB;AAC7D,SAASC,gBAAgB,QAAQ,sBAAsB;AAEvD,SAASC,MAAM,QAAQ,6BAA6B;AACpD,SAASC,qBAAqB,EAAEC,sBAAsB;AACtD,SAASC,SAAS,EAAEC,eAAe;AAOnC,OAAO,SAASC,aAAaA,CAACC,KAAyB,EAAY;EACjE,MAAM;IAAEC;EAAE,CAAC,GAAGP,MAAM,CAAC,CAAC;EACtB,MAAMQ,cAAc,GAAGV,UAAU,CAACG,qBAAqB,CAAC;EAExD,MAAMQ,MAAM,GAAGF,CAAC,CAACG,aAAa,CAACC,EAAE,CAACL,KAAK,CAACM,IAAI,CAAC,GAAGN,KAAK,CAACM,IAAI,GAAGC,SAAS;EACtE,MAAMD,IAAI,GAAGH,MAAM,GAAGA,MAAM,CAACG,IAAI,GAAGN,KAAK,CAACM,IAAI;EAE9C,IAAI,CAACN,KAAK,CAACQ,MAAM,EAAE;IACjB,OAAOZ,sBAAsB,CAACU,IAAI,EAAEH,MAAM,CAAC;EAC7C;EAEA,IAAIL,eAAe,CAACG,CAAC,CAACQ,OAAO,EAAEH,IAAI,CAAC,EAAE;IACpC,IAAIJ,cAAc,IAAII,IAAI,KAAKJ,cAAc,EAAE;MAC7C,OAAO,MAAM;IACf;IACA,OAAAQ,iBAAA,CACGjB,gBAAgB;MAAA,IAAAkB,SAAA;QAAA,OAAAD,iBAAA,CACdjB,gBAAgB,CAACmB,IAAI;UAAA,IAACrB,MAAMA,CAAA;YAAA,OAAEA,MAAM,CAACe,IAAI,EAAET,SAAS,CAAC;UAAA;QAAA;MAAA;IAAA;EAG5D;EAEA,OAAOD,sBAAsB,CAACU,IAAI,EAAEH,MAAM,CAAC;AAC7C","ignoreList":[]}
|
|
@@ -1,16 +1,20 @@
|
|
|
1
|
-
import { refkey } from '@alloy-js/core';
|
|
1
|
+
import { refkey, useContext } from '@alloy-js/core';
|
|
2
2
|
import { MemberExpression } from '@alloy-js/typescript';
|
|
3
3
|
import { useTsp } from '@typespec/emitter-framework';
|
|
4
|
-
import { typeboxBaseSchemaParts } from '../typeboxBaseSchema.jsx';
|
|
4
|
+
import { RecursiveModelContext, typeboxBaseSchemaParts } from '../typeboxBaseSchema.jsx';
|
|
5
5
|
import { refkeySym, shouldReference } from '../utils.jsx';
|
|
6
6
|
export function TypeBoxSchema(props) {
|
|
7
7
|
const { $ } = useTsp();
|
|
8
|
+
const recursiveModel = useContext(RecursiveModelContext);
|
|
8
9
|
const member = $.modelProperty.is(props.type) ? props.type : undefined;
|
|
9
10
|
const type = member ? member.type : props.type;
|
|
10
11
|
if (!props.nested) {
|
|
11
12
|
return typeboxBaseSchemaParts(type, member);
|
|
12
13
|
}
|
|
13
14
|
if (shouldReference($.program, type)) {
|
|
15
|
+
if (recursiveModel && type === recursiveModel) {
|
|
16
|
+
return 'This';
|
|
17
|
+
}
|
|
14
18
|
return (<MemberExpression>
|
|
15
19
|
<MemberExpression.Part refkey={refkey(type, refkeySym)}/>
|
|
16
20
|
</MemberExpression>);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypeBoxSchema.jsx","sourceRoot":"","sources":["../../../src/components/TypeBoxSchema.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,MAAM,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"TypeBoxSchema.jsx","sourceRoot":"","sources":["../../../src/components/TypeBoxSchema.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,MAAM,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAO1D,MAAM,UAAU,aAAa,CAAC,KAAyB;IACrD,MAAM,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;IACvB,MAAM,cAAc,GAAG,UAAU,CAAC,qBAAqB,CAAC,CAAC;IAEzD,MAAM,MAAM,GAAG,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACvE,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;IAE/C,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,eAAe,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;QACrC,IAAI,cAAc,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;YAC9C,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,OAAO,CACL,CAAC,gBAAgB,CACf;QAAA,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,EACzD;MAAA,EAAE,gBAAgB,CAAC,CACpB,CAAC;IACJ,CAAC;IAED,OAAO,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC9C,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Children } from '@alloy-js/core/jsx-runtime';
|
|
2
|
-
import { ModelProperty, Type } from '@typespec/compiler';
|
|
2
|
+
import { Model, ModelProperty, Type } from '@typespec/compiler';
|
|
3
|
+
export declare const RecursiveModelContext: import("@alloy-js/core").ComponentContext<Model>;
|
|
3
4
|
export declare function typeboxBaseSchemaParts(type: Type, member?: ModelProperty): Children;
|
|
4
5
|
//# sourceMappingURL=typeboxBaseSchema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typeboxBaseSchema.d.ts","sourceRoot":"","sources":["../../src/typeboxBaseSchema.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAOtD,OAAO,
|
|
1
|
+
{"version":3,"file":"typeboxBaseSchema.d.ts","sourceRoot":"","sources":["../../src/typeboxBaseSchema.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAOtD,OAAO,EAKL,KAAK,EACL,aAAa,EAGb,IAAI,EAEL,MAAM,oBAAoB,CAAC;AAO5B,eAAO,MAAM,qBAAqB,kDAAyB,CAAC;AAqC5D,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,QAAQ,CA6BnF"}
|
|
@@ -1,10 +1,39 @@
|
|
|
1
1
|
import { createComponent as _$createComponent, memo as _$memo } from "@alloy-js/core/jsx-runtime";
|
|
2
|
-
import { For, refkey } from '@alloy-js/core';
|
|
2
|
+
import { createContext, For, refkey } from '@alloy-js/core';
|
|
3
3
|
import { ArrayExpression, MemberExpression, ObjectExpression, ObjectProperty } from '@alloy-js/typescript';
|
|
4
|
+
import { getDiscriminator, getDiscriminatedUnionFromInheritance } from '@typespec/compiler';
|
|
4
5
|
import { useTsp } from '@typespec/emitter-framework';
|
|
5
6
|
import { TypeBoxSchema } from "./components/TypeBoxSchema.js";
|
|
6
7
|
import { buildTypeboxOpts } from "./typeboxConstraints.js";
|
|
7
8
|
import { isRecord, refkeySym, shouldReference, typeboxCall } from "./utils.js";
|
|
9
|
+
export const RecursiveModelContext = createContext();
|
|
10
|
+
function isSelfReferencing($, model) {
|
|
11
|
+
const visited = new Set();
|
|
12
|
+
function check(type) {
|
|
13
|
+
if (visited.has(type)) return false;
|
|
14
|
+
visited.add(type);
|
|
15
|
+
if (type === model) return true;
|
|
16
|
+
if (type.kind === 'Model') {
|
|
17
|
+
if ($.array.is(type)) {
|
|
18
|
+
return check(type.indexer.value);
|
|
19
|
+
}
|
|
20
|
+
if (isRecord($.program, type)) {
|
|
21
|
+
return check(type.indexer.value);
|
|
22
|
+
}
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
if (type.kind === 'Union') {
|
|
26
|
+
for (const variant of type.variants.values()) {
|
|
27
|
+
if (check(variant.type)) return true;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
for (const prop of model.properties.values()) {
|
|
33
|
+
if (check(prop.type)) return true;
|
|
34
|
+
}
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
8
37
|
export function typeboxBaseSchemaParts(type, member) {
|
|
9
38
|
const {
|
|
10
39
|
$
|
|
@@ -150,6 +179,41 @@ function scalarBaseType($, type, member) {
|
|
|
150
179
|
return typeboxCall('Any');
|
|
151
180
|
}
|
|
152
181
|
}
|
|
182
|
+
function hasDiscriminatedAncestor($, type) {
|
|
183
|
+
let current = type.baseModel;
|
|
184
|
+
while (current) {
|
|
185
|
+
if (getDiscriminator($.program, current)) return true;
|
|
186
|
+
current = current.baseModel;
|
|
187
|
+
}
|
|
188
|
+
return false;
|
|
189
|
+
}
|
|
190
|
+
function buildObjectFromProperties(properties) {
|
|
191
|
+
const members = _$createComponent(ObjectExpression, {
|
|
192
|
+
get children() {
|
|
193
|
+
return _$createComponent(For, {
|
|
194
|
+
each: properties,
|
|
195
|
+
comma: true,
|
|
196
|
+
hardline: true,
|
|
197
|
+
enderPunctuation: true,
|
|
198
|
+
children: function (prop) {
|
|
199
|
+
const schema = _$createComponent(TypeBoxSchema, {
|
|
200
|
+
type: prop,
|
|
201
|
+
nested: true
|
|
202
|
+
});
|
|
203
|
+
return _$createComponent(ObjectProperty, {
|
|
204
|
+
get name() {
|
|
205
|
+
return prop.name;
|
|
206
|
+
},
|
|
207
|
+
get children() {
|
|
208
|
+
return _$memo(() => !!prop.optional)() ? typeboxCall('Optional', schema) : schema;
|
|
209
|
+
}
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
});
|
|
215
|
+
return typeboxCall('Object', members);
|
|
216
|
+
}
|
|
153
217
|
function modelBaseType($, type, member) {
|
|
154
218
|
if ($.array.is(type)) {
|
|
155
219
|
const opts = buildTypeboxOpts($, type, {
|
|
@@ -162,6 +226,50 @@ function modelBaseType($, type, member) {
|
|
|
162
226
|
nested: true
|
|
163
227
|
}), ...(opts ? [opts] : []));
|
|
164
228
|
}
|
|
229
|
+
const discriminator = getDiscriminator($.program, type);
|
|
230
|
+
if (discriminator) {
|
|
231
|
+
const [discUnion] = getDiscriminatedUnionFromInheritance(type, discriminator);
|
|
232
|
+
if (discUnion && discUnion.variants.size > 0) {
|
|
233
|
+
const variants = [...discUnion.variants.values()];
|
|
234
|
+
return typeboxCall('Union', _$createComponent(ArrayExpression, {
|
|
235
|
+
get children() {
|
|
236
|
+
return _$createComponent(For, {
|
|
237
|
+
each: variants,
|
|
238
|
+
comma: true,
|
|
239
|
+
line: true,
|
|
240
|
+
children: function (variant) {
|
|
241
|
+
return _$createComponent(TypeBoxSchema, {
|
|
242
|
+
type: variant,
|
|
243
|
+
nested: true
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
}));
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
if (hasDiscriminatedAncestor($, type)) {
|
|
252
|
+
const allProperties = $.model.getProperties(type, {
|
|
253
|
+
includeExtended: true
|
|
254
|
+
});
|
|
255
|
+
if (allProperties.size > 0) {
|
|
256
|
+
return buildObjectFromProperties([...allProperties.values()]);
|
|
257
|
+
}
|
|
258
|
+
return typeboxCall('Object', _$createComponent(ObjectExpression, {}));
|
|
259
|
+
}
|
|
260
|
+
const recursive = isSelfReferencing($, type);
|
|
261
|
+
const schema = recursive ? _$createComponent(RecursiveModelContext.Provider, {
|
|
262
|
+
value: type,
|
|
263
|
+
get children() {
|
|
264
|
+
return modelSchemaBody($, type);
|
|
265
|
+
}
|
|
266
|
+
}) : modelSchemaBody($, type);
|
|
267
|
+
if (recursive) {
|
|
268
|
+
return typeboxCall('Recursive', ['This => ', schema]);
|
|
269
|
+
}
|
|
270
|
+
return schema;
|
|
271
|
+
}
|
|
272
|
+
function modelSchemaBody($, type) {
|
|
165
273
|
let recordPart;
|
|
166
274
|
if (isRecord($.program, type) || !!type.baseModel && isRecord($.program, type.baseModel) && !shouldReference($.program, type.baseModel)) {
|
|
167
275
|
recordPart = typeboxCall('Record', _$createComponent(TypeBoxSchema, {
|
|
@@ -178,61 +286,51 @@ function modelBaseType($, type, member) {
|
|
|
178
286
|
}
|
|
179
287
|
let objectPart;
|
|
180
288
|
if (type.properties.size > 0) {
|
|
181
|
-
|
|
289
|
+
objectPart = buildObjectFromProperties([...type.properties.values()]);
|
|
290
|
+
}
|
|
291
|
+
let ownSchema;
|
|
292
|
+
if (objectPart && recordPart) {
|
|
293
|
+
const parts = [objectPart, recordPart];
|
|
294
|
+
ownSchema = typeboxCall('Intersect', _$createComponent(ArrayExpression, {
|
|
182
295
|
get children() {
|
|
183
296
|
return _$createComponent(For, {
|
|
184
|
-
|
|
185
|
-
return type.properties.values();
|
|
186
|
-
},
|
|
297
|
+
each: parts,
|
|
187
298
|
comma: true,
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
const schema = _$createComponent(TypeBoxSchema, {
|
|
192
|
-
type: prop,
|
|
193
|
-
nested: true
|
|
194
|
-
});
|
|
195
|
-
return _$createComponent(ObjectProperty, {
|
|
196
|
-
get name() {
|
|
197
|
-
return prop.name;
|
|
198
|
-
},
|
|
199
|
-
get children() {
|
|
200
|
-
return _$memo(() => !!prop.optional)() ? typeboxCall('Optional', schema) : schema;
|
|
201
|
-
}
|
|
202
|
-
});
|
|
299
|
+
line: true,
|
|
300
|
+
children: function (part) {
|
|
301
|
+
return part;
|
|
203
302
|
}
|
|
204
303
|
});
|
|
205
304
|
}
|
|
206
|
-
});
|
|
207
|
-
objectPart = typeboxCall('Object', members);
|
|
208
|
-
}
|
|
209
|
-
if (!objectPart && !recordPart) {
|
|
210
|
-
return typeboxCall('Object', _$createComponent(ObjectExpression, {}));
|
|
211
|
-
}
|
|
212
|
-
if (objectPart && recordPart) {
|
|
213
|
-
return typeboxCall('Intersect', _$createComponent(ArrayExpression, {
|
|
214
|
-
get children() {
|
|
215
|
-
return [objectPart, recordPart];
|
|
216
|
-
}
|
|
217
305
|
}));
|
|
306
|
+
} else {
|
|
307
|
+
ownSchema = objectPart ?? recordPart ?? typeboxCall('Object', _$createComponent(ObjectExpression, {}));
|
|
218
308
|
}
|
|
219
|
-
const parts = objectPart ?? recordPart;
|
|
220
309
|
if (type.baseModel && shouldReference($.program, type.baseModel)) {
|
|
310
|
+
const baseRef = _$createComponent(MemberExpression, {
|
|
311
|
+
get children() {
|
|
312
|
+
return _$createComponent(MemberExpression.Part, {
|
|
313
|
+
get refkey() {
|
|
314
|
+
return refkey(type.baseModel, refkeySym);
|
|
315
|
+
}
|
|
316
|
+
});
|
|
317
|
+
}
|
|
318
|
+
});
|
|
319
|
+
const intersectParts = [baseRef, ownSchema];
|
|
221
320
|
return typeboxCall('Intersect', _$createComponent(ArrayExpression, {
|
|
222
321
|
get children() {
|
|
223
|
-
return
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
});
|
|
322
|
+
return _$createComponent(For, {
|
|
323
|
+
each: intersectParts,
|
|
324
|
+
comma: true,
|
|
325
|
+
line: true,
|
|
326
|
+
children: function (part) {
|
|
327
|
+
return part;
|
|
230
328
|
}
|
|
231
|
-
})
|
|
329
|
+
});
|
|
232
330
|
}
|
|
233
331
|
}));
|
|
234
332
|
}
|
|
235
|
-
return
|
|
333
|
+
return ownSchema;
|
|
236
334
|
}
|
|
237
335
|
function unionBaseType(type) {
|
|
238
336
|
return typeboxCall('Union', _$createComponent(ArrayExpression, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["For","refkey","ArrayExpression","MemberExpression","ObjectExpression","ObjectProperty","useTsp","TypeBoxSchema","buildTypeboxOpts","isRecord","refkeySym","shouldReference","typeboxCall","typeboxBaseSchemaParts","type","member","$","kind","intrinsicBaseType","literalBaseType","scalarBaseType","modelBaseType","unionBaseType","enumBaseType","tupleBaseType","value","literal","create","name","baseScalar","program","_$createComponent","children","Part","scalar","extendsBoolean","opts","extendsNumeric","extendsInteger","extendsInt32","extendsUint32","extendsSafeint","extendsString","extendsUrl","format","extendsBytes","extendsPlainDate","extendsPlainTime","extendsUtcDateTime","encoding","getEncoding","undefined","extendsOffsetDateTime","extendsDuration","array","is","indexer","nested","recordPart","baseModel","key","objectPart","properties","size","members","each","values","comma","hardline","enderPunctuation","prop","schema","_$memo","optional","parts","variants","line","variant","item"],"sources":["../../src/typeboxBaseSchema.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createContext","For","refkey","ArrayExpression","MemberExpression","ObjectExpression","ObjectProperty","getDiscriminator","getDiscriminatedUnionFromInheritance","useTsp","TypeBoxSchema","buildTypeboxOpts","isRecord","refkeySym","shouldReference","typeboxCall","RecursiveModelContext","isSelfReferencing","$","model","visited","Set","check","type","has","add","kind","array","is","indexer","value","program","variant","variants","values","prop","properties","typeboxBaseSchemaParts","member","intrinsicBaseType","literalBaseType","scalarBaseType","modelBaseType","unionBaseType","enumBaseType","tupleBaseType","literal","create","name","baseScalar","_$createComponent","children","Part","scalar","extendsBoolean","opts","extendsNumeric","extendsInteger","extendsInt32","extendsUint32","extendsSafeint","extendsString","extendsUrl","format","extendsBytes","extendsPlainDate","extendsPlainTime","extendsUtcDateTime","encoding","getEncoding","undefined","extendsOffsetDateTime","extendsDuration","hasDiscriminatedAncestor","current","baseModel","buildObjectFromProperties","members","each","comma","hardline","enderPunctuation","schema","nested","_$memo","optional","discriminator","discUnion","size","line","allProperties","getProperties","includeExtended","recursive","Provider","modelSchemaBody","recordPart","key","objectPart","ownSchema","parts","part","baseRef","intersectParts","item"],"sources":["../../src/typeboxBaseSchema.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,9 +1,42 @@
|
|
|
1
|
-
import { For, refkey } from '@alloy-js/core';
|
|
1
|
+
import { createContext, For, refkey } from '@alloy-js/core';
|
|
2
2
|
import { ArrayExpression, MemberExpression, ObjectExpression, ObjectProperty, } from '@alloy-js/typescript';
|
|
3
|
+
import { getDiscriminator, getDiscriminatedUnionFromInheritance, } from '@typespec/compiler';
|
|
3
4
|
import { useTsp } from '@typespec/emitter-framework';
|
|
4
5
|
import { TypeBoxSchema } from './components/TypeBoxSchema.jsx';
|
|
5
6
|
import { buildTypeboxOpts } from './typeboxConstraints.jsx';
|
|
6
7
|
import { isRecord, refkeySym, shouldReference, typeboxCall } from './utils.jsx';
|
|
8
|
+
export const RecursiveModelContext = createContext();
|
|
9
|
+
function isSelfReferencing($, model) {
|
|
10
|
+
const visited = new Set();
|
|
11
|
+
function check(type) {
|
|
12
|
+
if (visited.has(type))
|
|
13
|
+
return false;
|
|
14
|
+
visited.add(type);
|
|
15
|
+
if (type === model)
|
|
16
|
+
return true;
|
|
17
|
+
if (type.kind === 'Model') {
|
|
18
|
+
if ($.array.is(type)) {
|
|
19
|
+
return check(type.indexer.value);
|
|
20
|
+
}
|
|
21
|
+
if (isRecord($.program, type)) {
|
|
22
|
+
return check(type.indexer.value);
|
|
23
|
+
}
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
if (type.kind === 'Union') {
|
|
27
|
+
for (const variant of type.variants.values()) {
|
|
28
|
+
if (check(variant.type))
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
for (const prop of model.properties.values()) {
|
|
35
|
+
if (check(prop.type))
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
7
40
|
export function typeboxBaseSchemaParts(type, member) {
|
|
8
41
|
const { $ } = useTsp();
|
|
9
42
|
switch (type.kind) {
|
|
@@ -132,11 +165,67 @@ function scalarBaseType($, type, member) {
|
|
|
132
165
|
return typeboxCall('Any');
|
|
133
166
|
}
|
|
134
167
|
}
|
|
168
|
+
function hasDiscriminatedAncestor($, type) {
|
|
169
|
+
let current = type.baseModel;
|
|
170
|
+
while (current) {
|
|
171
|
+
if (getDiscriminator($.program, current))
|
|
172
|
+
return true;
|
|
173
|
+
current = current.baseModel;
|
|
174
|
+
}
|
|
175
|
+
return false;
|
|
176
|
+
}
|
|
177
|
+
function buildObjectFromProperties(properties) {
|
|
178
|
+
const members = (<ObjectExpression>
|
|
179
|
+
<For each={properties} comma hardline enderPunctuation>
|
|
180
|
+
{function (prop) {
|
|
181
|
+
const schema = <TypeBoxSchema type={prop} nested/>;
|
|
182
|
+
return (<ObjectProperty name={prop.name}>
|
|
183
|
+
{prop.optional ? typeboxCall('Optional', schema) : schema}
|
|
184
|
+
</ObjectProperty>);
|
|
185
|
+
}}
|
|
186
|
+
</For>
|
|
187
|
+
</ObjectExpression>);
|
|
188
|
+
return typeboxCall('Object', members);
|
|
189
|
+
}
|
|
135
190
|
function modelBaseType($, type, member) {
|
|
136
191
|
if ($.array.is(type)) {
|
|
137
192
|
const opts = buildTypeboxOpts($, type, { member });
|
|
138
193
|
return typeboxCall('Array', <TypeBoxSchema type={type.indexer.value} nested/>, ...(opts ? [opts] : []));
|
|
139
194
|
}
|
|
195
|
+
const discriminator = getDiscriminator($.program, type);
|
|
196
|
+
if (discriminator) {
|
|
197
|
+
const [discUnion] = getDiscriminatedUnionFromInheritance(type, discriminator);
|
|
198
|
+
if (discUnion && discUnion.variants.size > 0) {
|
|
199
|
+
const variants = [...discUnion.variants.values()];
|
|
200
|
+
return typeboxCall('Union', <ArrayExpression>
|
|
201
|
+
<For each={variants} comma line>
|
|
202
|
+
{function (variant) {
|
|
203
|
+
return <TypeBoxSchema type={variant} nested/>;
|
|
204
|
+
}}
|
|
205
|
+
</For>
|
|
206
|
+
</ArrayExpression>);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
if (hasDiscriminatedAncestor($, type)) {
|
|
210
|
+
const allProperties = $.model.getProperties(type, { includeExtended: true });
|
|
211
|
+
if (allProperties.size > 0) {
|
|
212
|
+
return buildObjectFromProperties([...allProperties.values()]);
|
|
213
|
+
}
|
|
214
|
+
return typeboxCall('Object', <ObjectExpression />);
|
|
215
|
+
}
|
|
216
|
+
const recursive = isSelfReferencing($, type);
|
|
217
|
+
const schema = recursive ? (<RecursiveModelContext.Provider value={type}>
|
|
218
|
+
{modelSchemaBody($, type)}
|
|
219
|
+
</RecursiveModelContext.Provider>) : (modelSchemaBody($, type));
|
|
220
|
+
if (recursive) {
|
|
221
|
+
return typeboxCall('Recursive', <>
|
|
222
|
+
{'This => '}
|
|
223
|
+
{schema}
|
|
224
|
+
</>);
|
|
225
|
+
}
|
|
226
|
+
return schema;
|
|
227
|
+
}
|
|
228
|
+
function modelSchemaBody($, type) {
|
|
140
229
|
let recordPart;
|
|
141
230
|
if (isRecord($.program, type) ||
|
|
142
231
|
(!!type.baseModel &&
|
|
@@ -146,37 +235,36 @@ function modelBaseType($, type, member) {
|
|
|
146
235
|
}
|
|
147
236
|
let objectPart;
|
|
148
237
|
if (type.properties.size > 0) {
|
|
149
|
-
|
|
150
|
-
<For each={type.properties.values()} comma hardline enderPunctuation>
|
|
151
|
-
{function (prop) {
|
|
152
|
-
const schema = <TypeBoxSchema type={prop} nested/>;
|
|
153
|
-
return (<ObjectProperty name={prop.name}>
|
|
154
|
-
{prop.optional ? typeboxCall('Optional', schema) : schema}
|
|
155
|
-
</ObjectProperty>);
|
|
156
|
-
}}
|
|
157
|
-
</For>
|
|
158
|
-
</ObjectExpression>);
|
|
159
|
-
objectPart = typeboxCall('Object', members);
|
|
160
|
-
}
|
|
161
|
-
if (!objectPart && !recordPart) {
|
|
162
|
-
return typeboxCall('Object', <ObjectExpression />);
|
|
238
|
+
objectPart = buildObjectFromProperties([...type.properties.values()]);
|
|
163
239
|
}
|
|
240
|
+
let ownSchema;
|
|
164
241
|
if (objectPart && recordPart) {
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
{
|
|
242
|
+
const parts = [objectPart, recordPart];
|
|
243
|
+
ownSchema = typeboxCall('Intersect', <ArrayExpression>
|
|
244
|
+
<For each={parts} comma line>
|
|
245
|
+
{function (part) {
|
|
246
|
+
return part;
|
|
247
|
+
}}
|
|
248
|
+
</For>
|
|
168
249
|
</ArrayExpression>);
|
|
169
250
|
}
|
|
170
|
-
|
|
251
|
+
else {
|
|
252
|
+
ownSchema = objectPart ?? recordPart ?? typeboxCall('Object', <ObjectExpression />);
|
|
253
|
+
}
|
|
171
254
|
if (type.baseModel && shouldReference($.program, type.baseModel)) {
|
|
255
|
+
const baseRef = (<MemberExpression>
|
|
256
|
+
<MemberExpression.Part refkey={refkey(type.baseModel, refkeySym)}/>
|
|
257
|
+
</MemberExpression>);
|
|
258
|
+
const intersectParts = [baseRef, ownSchema];
|
|
172
259
|
return typeboxCall('Intersect', <ArrayExpression>
|
|
173
|
-
<
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
260
|
+
<For each={intersectParts} comma line>
|
|
261
|
+
{function (part) {
|
|
262
|
+
return part;
|
|
263
|
+
}}
|
|
264
|
+
</For>
|
|
177
265
|
</ArrayExpression>);
|
|
178
266
|
}
|
|
179
|
-
return
|
|
267
|
+
return ownSchema;
|
|
180
268
|
}
|
|
181
269
|
function unionBaseType(type) {
|
|
182
270
|
return typeboxCall('Union', <ArrayExpression>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typeboxBaseSchema.jsx","sourceRoot":"","sources":["../../src/typeboxBaseSchema.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"typeboxBaseSchema.jsx","sourceRoot":"","sources":["../../src/typeboxBaseSchema.tsx"],"names":[],"mappings":"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"}
|
|
@@ -33,6 +33,20 @@ describe('dictionaries', () => {
|
|
|
33
33
|
}
|
|
34
34
|
}), 'Type.Record(\n Type.String(),\n Type.Integer({\n minimum: -2147483648,\n maximum: 2147483647\n })\n)');
|
|
35
35
|
});
|
|
36
|
+
it('works with model extending Record with additional properties', async () => {
|
|
37
|
+
const runner = await createTestRunner();
|
|
38
|
+
const {
|
|
39
|
+
Config
|
|
40
|
+
} = await runner.compile(`
|
|
41
|
+
@test model Config extends Record<string> {
|
|
42
|
+
apiKey: string;
|
|
43
|
+
baseUrl: string;
|
|
44
|
+
}
|
|
45
|
+
`);
|
|
46
|
+
expectRender(runner.program, _$createComponent(TypeBoxSchema, {
|
|
47
|
+
type: Config
|
|
48
|
+
}), 'Type.Intersect([\n Type.Object({\n apiKey: Type.String(),\n baseUrl: Type.String(),\n }),\n Type.Record(Type.String(), Type.String())\n])');
|
|
49
|
+
});
|
|
36
50
|
it('works with record property in model', async () => {
|
|
37
51
|
const runner = await createTestRunner();
|
|
38
52
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["describe","it","TypeBoxSchema","createTestRunner","expectRender","runner","dictProp","compile","program","_$createComponent","type","intDict","DictModel"],"sources":["../../test/dictionaries.test.tsx"],"sourcesContent":[null],"mappings":";AACA,SAASA,QAAQ,EAAEC,EAAE,QAAQ,QAAQ;AACrC,SAASC,aAAa;AACtB,SAASC,gBAAgB,EAAEC,YAAY;AAEvCJ,QAAQ,CAAC,cAAc,EAAE,MAAM;EAC7BC,EAAE,CAAC,oCAAoC,EAAE,YAAY;IACnD,MAAMI,MAAM,GAAG,MAAMF,gBAAgB,CAAC,CAAC;IACvC,MAAM;MAAEG;IAAS,CAAC,GAAI,MAAMD,MAAM,CAACE,OAAO,CAAC;AAC/C;AACA;AACA;AACA,KAAK,CAAmC;IAEpCH,YAAY,CACVC,MAAM,CAACG,OAAO,EAAAC,iBAAA,CACbP,aAAa;MAAA,IAACQ,IAAIA,CAAA;QAAA,OAAEJ,QAAQ,CAACI,IAAI;MAAA;IAAA,IAClC,2CACF,CAAC;EACH,CAAC,CAAC;EAEFT,EAAE,CAAC,qCAAqC,EAAE,YAAY;IACpD,MAAMI,MAAM,GAAG,MAAMF,gBAAgB,CAAC,CAAC;IACvC,MAAM;MAAEQ;IAAQ,CAAC,GAAI,MAAMN,MAAM,CAACE,OAAO,CAAC;AAC9C;AACA;AACA;AACA,KAAK,CAAmC;IAEpCH,YAAY,CACVC,MAAM,CAACG,OAAO,EAAAC,iBAAA,CACbP,aAAa;MAAA,IAACQ,IAAIA,CAAA;QAAA,OAAEC,OAAO,CAACD,IAAI;MAAA;IAAA,IACjC,+GACF,CAAC;EACH,CAAC,CAAC;EAEFT,EAAE,CAAC,qCAAqC,EAAE,YAAY;IACpD,MAAMI,MAAM,GAAG,MAAMF,gBAAgB,CAAC,CAAC;IACvC,MAAM;
|
|
1
|
+
{"version":3,"names":["describe","it","TypeBoxSchema","createTestRunner","expectRender","runner","dictProp","compile","program","_$createComponent","type","intDict","Config","DictModel"],"sources":["../../test/dictionaries.test.tsx"],"sourcesContent":[null],"mappings":";AACA,SAASA,QAAQ,EAAEC,EAAE,QAAQ,QAAQ;AACrC,SAASC,aAAa;AACtB,SAASC,gBAAgB,EAAEC,YAAY;AAEvCJ,QAAQ,CAAC,cAAc,EAAE,MAAM;EAC7BC,EAAE,CAAC,oCAAoC,EAAE,YAAY;IACnD,MAAMI,MAAM,GAAG,MAAMF,gBAAgB,CAAC,CAAC;IACvC,MAAM;MAAEG;IAAS,CAAC,GAAI,MAAMD,MAAM,CAACE,OAAO,CAAC;AAC/C;AACA;AACA;AACA,KAAK,CAAmC;IAEpCH,YAAY,CACVC,MAAM,CAACG,OAAO,EAAAC,iBAAA,CACbP,aAAa;MAAA,IAACQ,IAAIA,CAAA;QAAA,OAAEJ,QAAQ,CAACI,IAAI;MAAA;IAAA,IAClC,2CACF,CAAC;EACH,CAAC,CAAC;EAEFT,EAAE,CAAC,qCAAqC,EAAE,YAAY;IACpD,MAAMI,MAAM,GAAG,MAAMF,gBAAgB,CAAC,CAAC;IACvC,MAAM;MAAEQ;IAAQ,CAAC,GAAI,MAAMN,MAAM,CAACE,OAAO,CAAC;AAC9C;AACA;AACA;AACA,KAAK,CAAmC;IAEpCH,YAAY,CACVC,MAAM,CAACG,OAAO,EAAAC,iBAAA,CACbP,aAAa;MAAA,IAACQ,IAAIA,CAAA;QAAA,OAAEC,OAAO,CAACD,IAAI;MAAA;IAAA,IACjC,+GACF,CAAC;EACH,CAAC,CAAC;EAEFT,EAAE,CAAC,8DAA8D,EAAE,YAAY;IAC7E,MAAMI,MAAM,GAAG,MAAMF,gBAAgB,CAAC,CAAC;IACvC,MAAM;MAAES;IAAO,CAAC,GAAI,MAAMP,MAAM,CAACE,OAAO,CAAC;AAC7C;AACA;AACA;AACA;AACA,KAAK,CAA2B;IAE5BH,YAAY,CACVC,MAAM,CAACG,OAAO,EAAAC,iBAAA,CACbP,aAAa;MAACQ,IAAI,EAAEE;IAAM,IAC3B,oJACF,CAAC;EACH,CAAC,CAAC;EAEFX,EAAE,CAAC,qCAAqC,EAAE,YAAY;IACpD,MAAMI,MAAM,GAAG,MAAMF,gBAAgB,CAAC,CAAC;IACvC,MAAM;MAAEU;IAAU,CAAC,GAAI,MAAMR,MAAM,CAACE,OAAO,CAAC;AAChD;AACA;AACA;AACA,KAAK,CAA2B;IAE5BH,YAAY,CACVC,MAAM,CAACG,OAAO,EAAAC,iBAAA,CACbP,aAAa;MAACQ,IAAI,EAAEG;IAAS,IAC9B,uEACF,CAAC;EACH,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
|