effect 3.11.3 → 3.11.5
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/cjs/Cron.js +122 -68
- package/dist/cjs/Cron.js.map +1 -1
- package/dist/cjs/Effect.js.map +1 -1
- package/dist/cjs/Function.js +1 -1
- package/dist/cjs/JSONSchema.js +226 -134
- package/dist/cjs/JSONSchema.js.map +1 -1
- package/dist/cjs/Schema.js +29 -10
- package/dist/cjs/Schema.js.map +1 -1
- package/dist/cjs/SchemaAST.js +34 -9
- package/dist/cjs/SchemaAST.js.map +1 -1
- package/dist/cjs/internal/core.js +11 -9
- package/dist/cjs/internal/core.js.map +1 -1
- package/dist/cjs/internal/effect/circular.js +2 -2
- package/dist/cjs/internal/effect/circular.js.map +1 -1
- package/dist/cjs/internal/fiberRuntime.js +1 -1
- package/dist/cjs/internal/fiberRuntime.js.map +1 -1
- package/dist/cjs/internal/mailbox.js +4 -4
- package/dist/cjs/internal/mailbox.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/dts/Cron.d.ts +1 -1
- package/dist/dts/Cron.d.ts.map +1 -1
- package/dist/dts/Effect.d.ts +50 -19
- package/dist/dts/Effect.d.ts.map +1 -1
- package/dist/dts/Function.d.ts +1 -1
- package/dist/dts/JSONSchema.d.ts +57 -1
- package/dist/dts/JSONSchema.d.ts.map +1 -1
- package/dist/dts/Schema.d.ts +1 -1
- package/dist/dts/Schema.d.ts.map +1 -1
- package/dist/dts/SchemaAST.d.ts +1 -1
- package/dist/dts/SchemaAST.d.ts.map +1 -1
- package/dist/dts/internal/core.d.ts +5 -0
- package/dist/dts/internal/core.d.ts.map +1 -1
- package/dist/esm/Cron.js +121 -67
- package/dist/esm/Cron.js.map +1 -1
- package/dist/esm/Effect.js.map +1 -1
- package/dist/esm/Function.js +1 -1
- package/dist/esm/JSONSchema.js +224 -133
- package/dist/esm/JSONSchema.js.map +1 -1
- package/dist/esm/Schema.js +29 -10
- package/dist/esm/Schema.js.map +1 -1
- package/dist/esm/SchemaAST.js +31 -7
- package/dist/esm/SchemaAST.js.map +1 -1
- package/dist/esm/internal/core.js +8 -5
- package/dist/esm/internal/core.js.map +1 -1
- package/dist/esm/internal/effect/circular.js +2 -2
- package/dist/esm/internal/effect/circular.js.map +1 -1
- package/dist/esm/internal/fiberRuntime.js +1 -1
- package/dist/esm/internal/fiberRuntime.js.map +1 -1
- package/dist/esm/internal/mailbox.js +4 -4
- package/dist/esm/internal/mailbox.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/package.json +1 -1
- package/src/Cron.ts +154 -66
- package/src/Effect.ts +68 -20
- package/src/Function.ts +1 -1
- package/src/JSONSchema.ts +233 -134
- package/src/Schema.ts +25 -10
- package/src/SchemaAST.ts +31 -7
- package/src/internal/core.ts +16 -5
- package/src/internal/effect/circular.ts +2 -2
- package/src/internal/fiberRuntime.ts +1 -1
- package/src/internal/mailbox.ts +4 -4
- package/src/internal/version.ts +1 -1
package/dist/cjs/JSONSchema.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.make = exports.
|
|
6
|
+
exports.make = exports.fromAST = void 0;
|
|
7
7
|
var errors_ = _interopRequireWildcard(require("./internal/schema/errors.js"));
|
|
8
8
|
var Option = _interopRequireWildcard(require("./Option.js"));
|
|
9
9
|
var Predicate = _interopRequireWildcard(require("./Predicate.js"));
|
|
@@ -20,34 +20,70 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
20
20
|
* @since 3.10.0
|
|
21
21
|
*/
|
|
22
22
|
const make = schema => {
|
|
23
|
-
const
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
if (!Record.isEmptyRecord($defs)) {
|
|
36
|
-
out.$defs = $defs;
|
|
23
|
+
const definitions = {};
|
|
24
|
+
const ast = AST.isTransformation(schema.ast) && isParseJsonTransformation(schema.ast.from)
|
|
25
|
+
// Special case top level `parseJson` transformations
|
|
26
|
+
? schema.ast.to : schema.ast;
|
|
27
|
+
const out = fromAST(ast, {
|
|
28
|
+
definitions
|
|
29
|
+
});
|
|
30
|
+
out.$schema = $schema;
|
|
31
|
+
if (!Record.isEmptyRecord(definitions)) {
|
|
32
|
+
out.$defs = definitions;
|
|
37
33
|
}
|
|
38
34
|
return out;
|
|
39
35
|
};
|
|
36
|
+
/**
|
|
37
|
+
* Returns a JSON Schema with additional options and definitions.
|
|
38
|
+
*
|
|
39
|
+
* **Warning**
|
|
40
|
+
*
|
|
41
|
+
* This function is experimental and subject to change.
|
|
42
|
+
*
|
|
43
|
+
* **Details**
|
|
44
|
+
*
|
|
45
|
+
* - `definitions`: A record of definitions that are included in the schema.
|
|
46
|
+
* - `definitionPath`: The path to the definitions within the schema (defaults
|
|
47
|
+
* to "#/$defs/").
|
|
48
|
+
* - `target`: Which spec to target. Possible values are:
|
|
49
|
+
* - `'jsonSchema7'`: JSON Schema draft-07 (default behavior).
|
|
50
|
+
* - `'jsonSchema2019-09'`: JSON Schema draft-2019-09.
|
|
51
|
+
* - `'openApi3.1'`: OpenAPI 3.1.
|
|
52
|
+
* - `topLevelReferenceStrategy`: Controls the handling of the top-level
|
|
53
|
+
* reference. Possible values are:
|
|
54
|
+
* - `"keep"`: Keep the top-level reference (default behavior).
|
|
55
|
+
* - `"skip"`: Skip the top-level reference.
|
|
56
|
+
*
|
|
57
|
+
* @category encoding
|
|
58
|
+
* @since 3.11.5
|
|
59
|
+
* @experimental
|
|
60
|
+
*/
|
|
40
61
|
exports.make = make;
|
|
41
|
-
const
|
|
42
|
-
|
|
62
|
+
const fromAST = (ast, options) => {
|
|
63
|
+
const definitionPath = options.definitionPath ?? "#/$defs/";
|
|
64
|
+
const getRef = id => definitionPath + id;
|
|
65
|
+
const target = options.target ?? "jsonSchema7";
|
|
66
|
+
const handleIdentifier = options.topLevelReferenceStrategy !== "skip";
|
|
67
|
+
return go(ast, options.definitions, handleIdentifier, [], {
|
|
68
|
+
getRef,
|
|
69
|
+
target
|
|
70
|
+
});
|
|
71
|
+
};
|
|
72
|
+
exports.fromAST = fromAST;
|
|
73
|
+
const constNever = {
|
|
74
|
+
"$id": "/schemas/never",
|
|
75
|
+
"not": {}
|
|
43
76
|
};
|
|
44
|
-
const
|
|
45
|
-
$id: "/schemas/
|
|
77
|
+
const constAny = {
|
|
78
|
+
"$id": "/schemas/any"
|
|
46
79
|
};
|
|
47
|
-
const
|
|
48
|
-
$id: "/schemas/
|
|
80
|
+
const constUnknown = {
|
|
81
|
+
"$id": "/schemas/unknown"
|
|
49
82
|
};
|
|
50
|
-
const
|
|
83
|
+
const constVoid = {
|
|
84
|
+
"$id": "/schemas/void"
|
|
85
|
+
};
|
|
86
|
+
const constAnyObject = {
|
|
51
87
|
"$id": "/schemas/object",
|
|
52
88
|
"anyOf": [{
|
|
53
89
|
"type": "object"
|
|
@@ -55,14 +91,14 @@ const objectJsonSchema = {
|
|
|
55
91
|
"type": "array"
|
|
56
92
|
}]
|
|
57
93
|
};
|
|
58
|
-
const
|
|
94
|
+
const constEmpty = {
|
|
59
95
|
"$id": "/schemas/{}",
|
|
60
96
|
"anyOf": [{
|
|
61
97
|
"type": "object"
|
|
62
98
|
}, {
|
|
63
99
|
"type": "array"
|
|
64
100
|
}]
|
|
65
|
-
}
|
|
101
|
+
};
|
|
66
102
|
const $schema = "http://json-schema.org/draft-07/schema#";
|
|
67
103
|
const getJsonSchemaAnnotations = annotated => Record.getSomes({
|
|
68
104
|
description: AST.getDescriptionAnnotation(annotated),
|
|
@@ -95,90 +131,104 @@ const getASTJsonSchemaAnnotations = ast => {
|
|
|
95
131
|
const pruneUndefinedFromPropertySignature = ast => {
|
|
96
132
|
if (Option.isNone(AST.getJSONSchemaAnnotation(ast))) {
|
|
97
133
|
switch (ast._tag) {
|
|
134
|
+
case "UndefinedKeyword":
|
|
135
|
+
return AST.neverKeyword;
|
|
98
136
|
case "Union":
|
|
99
137
|
{
|
|
100
|
-
const types =
|
|
101
|
-
|
|
102
|
-
|
|
138
|
+
const types = [];
|
|
139
|
+
let hasUndefined = false;
|
|
140
|
+
for (const type of ast.types) {
|
|
141
|
+
const pruned = pruneUndefinedFromPropertySignature(type);
|
|
142
|
+
if (pruned) {
|
|
143
|
+
hasUndefined = true;
|
|
144
|
+
if (!AST.isNeverKeyword(pruned)) {
|
|
145
|
+
types.push(pruned);
|
|
146
|
+
}
|
|
147
|
+
} else {
|
|
148
|
+
types.push(type);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
if (hasUndefined) {
|
|
152
|
+
return AST.Union.make(types);
|
|
103
153
|
}
|
|
104
154
|
break;
|
|
105
155
|
}
|
|
156
|
+
case "Suspend":
|
|
157
|
+
return pruneUndefinedFromPropertySignature(ast.f());
|
|
106
158
|
case "Transformation":
|
|
107
|
-
return pruneUndefinedFromPropertySignature(
|
|
159
|
+
return pruneUndefinedFromPropertySignature(ast.from);
|
|
108
160
|
}
|
|
109
161
|
}
|
|
110
162
|
};
|
|
111
|
-
/** @internal */
|
|
112
|
-
const DEFINITION_PREFIX = exports.DEFINITION_PREFIX = "#/$defs/";
|
|
113
|
-
const get$ref = id => `${DEFINITION_PREFIX}${id}`;
|
|
114
|
-
const getRefinementInnerTransformation = ast => {
|
|
115
|
-
switch (ast.from._tag) {
|
|
116
|
-
case "Transformation":
|
|
117
|
-
return ast.from;
|
|
118
|
-
case "Refinement":
|
|
119
|
-
return getRefinementInnerTransformation(ast.from);
|
|
120
|
-
case "Suspend":
|
|
121
|
-
{
|
|
122
|
-
const from = ast.from.f();
|
|
123
|
-
if (AST.isRefinement(from)) {
|
|
124
|
-
return getRefinementInnerTransformation(from);
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
};
|
|
129
163
|
const isParseJsonTransformation = ast => ast.annotations[AST.SchemaIdAnnotationId] === AST.ParseJsonSchemaId;
|
|
130
|
-
function merge(a, b) {
|
|
131
|
-
return {
|
|
132
|
-
...a,
|
|
133
|
-
...b
|
|
134
|
-
};
|
|
135
|
-
}
|
|
136
164
|
const isOverrideAnnotation = jsonSchema => {
|
|
137
165
|
return "type" in jsonSchema || "oneOf" in jsonSchema || "anyOf" in jsonSchema || "const" in jsonSchema || "enum" in jsonSchema || "$ref" in jsonSchema;
|
|
138
166
|
};
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
...handler
|
|
156
|
-
};
|
|
157
|
-
}
|
|
158
|
-
} else if (!isOverrideAnnotation(handler)) {
|
|
159
|
-
return go(t, $defs, true, path);
|
|
160
|
-
}
|
|
167
|
+
// Returns true if the schema is an enum with no other properties.
|
|
168
|
+
// This is used to merge enums together.
|
|
169
|
+
const isEnumOnly = schema => "enum" in schema && Object.keys(schema).length === 1;
|
|
170
|
+
const mergeRefinements = (from, jsonSchema, annotations) => {
|
|
171
|
+
const out = {
|
|
172
|
+
...from,
|
|
173
|
+
...annotations,
|
|
174
|
+
...jsonSchema
|
|
175
|
+
};
|
|
176
|
+
out.allOf ??= [];
|
|
177
|
+
const handle = (name, filter) => {
|
|
178
|
+
if (name in jsonSchema && name in from) {
|
|
179
|
+
out.allOf.unshift({
|
|
180
|
+
[name]: from[name]
|
|
181
|
+
});
|
|
182
|
+
out.allOf = out.allOf.filter(filter);
|
|
161
183
|
}
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
184
|
+
};
|
|
185
|
+
handle("minLength", i => i.minLength > jsonSchema.minLength);
|
|
186
|
+
handle("maxLength", i => i.maxLength < jsonSchema.maxLength);
|
|
187
|
+
handle("pattern", i => i.pattern !== jsonSchema.pattern);
|
|
188
|
+
handle("minItems", i => i.minItems > jsonSchema.minItems);
|
|
189
|
+
handle("maxItems", i => i.maxItems < jsonSchema.maxItems);
|
|
190
|
+
handle("minimum", i => i.minimum > jsonSchema.minimum);
|
|
191
|
+
handle("maximum", i => i.maximum < jsonSchema.maximum);
|
|
192
|
+
handle("exclusiveMinimum", i => i.exclusiveMinimum > jsonSchema.exclusiveMinimum);
|
|
193
|
+
handle("exclusiveMaximum", i => i.exclusiveMaximum < jsonSchema.exclusiveMaximum);
|
|
194
|
+
handle("multipleOf", i => i.multipleOf !== jsonSchema.multipleOf);
|
|
195
|
+
if (out.allOf.length === 0) {
|
|
196
|
+
delete out.allOf;
|
|
167
197
|
}
|
|
168
|
-
|
|
198
|
+
return out;
|
|
199
|
+
};
|
|
200
|
+
const go = (ast, $defs, handleIdentifier, path, options) => {
|
|
201
|
+
if (handleIdentifier) {
|
|
169
202
|
const identifier = AST.getJSONIdentifier(ast);
|
|
170
203
|
if (Option.isSome(identifier)) {
|
|
171
204
|
const id = identifier.value;
|
|
172
205
|
const out = {
|
|
173
|
-
$ref:
|
|
206
|
+
$ref: options.getRef(id)
|
|
174
207
|
};
|
|
175
208
|
if (!Record.has($defs, id)) {
|
|
176
209
|
$defs[id] = out;
|
|
177
|
-
$defs[id] = go(ast, $defs, false, path);
|
|
210
|
+
$defs[id] = go(ast, $defs, false, path, options);
|
|
178
211
|
}
|
|
179
212
|
return out;
|
|
180
213
|
}
|
|
181
214
|
}
|
|
215
|
+
const hook = AST.getJSONSchemaAnnotation(ast);
|
|
216
|
+
if (Option.isSome(hook)) {
|
|
217
|
+
const handler = hook.value;
|
|
218
|
+
if (AST.isRefinement(ast)) {
|
|
219
|
+
const t = AST.getTransformationFrom(ast);
|
|
220
|
+
if (t === undefined) {
|
|
221
|
+
return mergeRefinements(go(ast.from, $defs, handleIdentifier, path, options), handler, getJsonSchemaAnnotations(ast));
|
|
222
|
+
} else if (!isOverrideAnnotation(handler)) {
|
|
223
|
+
return go(t, $defs, handleIdentifier, path, options);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
return handler;
|
|
227
|
+
}
|
|
228
|
+
const surrogate = AST.getSurrogateAnnotation(ast);
|
|
229
|
+
if (Option.isSome(surrogate)) {
|
|
230
|
+
return go(surrogate.value, $defs, handleIdentifier, path, options);
|
|
231
|
+
}
|
|
182
232
|
switch (ast._tag) {
|
|
183
233
|
case "Declaration":
|
|
184
234
|
throw new Error(errors_.getJSONSchemaMissingAnnotationErrorMessage(path, ast));
|
|
@@ -186,13 +236,15 @@ const go = (ast, $defs, handleIdentifier, path) => {
|
|
|
186
236
|
{
|
|
187
237
|
const literal = ast.literal;
|
|
188
238
|
if (literal === null) {
|
|
189
|
-
return
|
|
190
|
-
enum: [null]
|
|
191
|
-
|
|
239
|
+
return {
|
|
240
|
+
enum: [null],
|
|
241
|
+
...getJsonSchemaAnnotations(ast)
|
|
242
|
+
};
|
|
192
243
|
} else if (Predicate.isString(literal) || Predicate.isNumber(literal) || Predicate.isBoolean(literal)) {
|
|
193
|
-
return
|
|
194
|
-
enum: [literal]
|
|
195
|
-
|
|
244
|
+
return {
|
|
245
|
+
enum: [literal],
|
|
246
|
+
...getJsonSchemaAnnotations(ast)
|
|
247
|
+
};
|
|
196
248
|
}
|
|
197
249
|
throw new Error(errors_.getJSONSchemaMissingAnnotationErrorMessage(path, ast));
|
|
198
250
|
}
|
|
@@ -201,15 +253,30 @@ const go = (ast, $defs, handleIdentifier, path) => {
|
|
|
201
253
|
case "UndefinedKeyword":
|
|
202
254
|
throw new Error(errors_.getJSONSchemaMissingAnnotationErrorMessage(path, ast));
|
|
203
255
|
case "VoidKeyword":
|
|
204
|
-
return
|
|
256
|
+
return {
|
|
257
|
+
...constVoid,
|
|
258
|
+
...getJsonSchemaAnnotations(ast)
|
|
259
|
+
};
|
|
205
260
|
case "NeverKeyword":
|
|
206
|
-
|
|
261
|
+
return {
|
|
262
|
+
...constNever,
|
|
263
|
+
...getJsonSchemaAnnotations(ast)
|
|
264
|
+
};
|
|
207
265
|
case "UnknownKeyword":
|
|
208
|
-
return
|
|
266
|
+
return {
|
|
267
|
+
...constUnknown,
|
|
268
|
+
...getJsonSchemaAnnotations(ast)
|
|
269
|
+
};
|
|
209
270
|
case "AnyKeyword":
|
|
210
|
-
return
|
|
271
|
+
return {
|
|
272
|
+
...constAny,
|
|
273
|
+
...getJsonSchemaAnnotations(ast)
|
|
274
|
+
};
|
|
211
275
|
case "ObjectKeyword":
|
|
212
|
-
return
|
|
276
|
+
return {
|
|
277
|
+
...constAnyObject,
|
|
278
|
+
...getJsonSchemaAnnotations(ast)
|
|
279
|
+
};
|
|
213
280
|
case "StringKeyword":
|
|
214
281
|
return {
|
|
215
282
|
type: "string",
|
|
@@ -231,8 +298,14 @@ const go = (ast, $defs, handleIdentifier, path) => {
|
|
|
231
298
|
throw new Error(errors_.getJSONSchemaMissingAnnotationErrorMessage(path, ast));
|
|
232
299
|
case "TupleType":
|
|
233
300
|
{
|
|
234
|
-
const elements = ast.elements.map((e, i) =>
|
|
235
|
-
|
|
301
|
+
const elements = ast.elements.map((e, i) => ({
|
|
302
|
+
...go(e.type, $defs, true, path.concat(i), options),
|
|
303
|
+
...getJsonSchemaAnnotations(e)
|
|
304
|
+
}));
|
|
305
|
+
const rest = ast.rest.map(annotatedAST => ({
|
|
306
|
+
...go(annotatedAST.type, $defs, true, path, options),
|
|
307
|
+
...getJsonSchemaAnnotations(annotatedAST)
|
|
308
|
+
}));
|
|
236
309
|
const output = {
|
|
237
310
|
type: "array"
|
|
238
311
|
};
|
|
@@ -269,12 +342,18 @@ const go = (ast, $defs, handleIdentifier, path) => {
|
|
|
269
342
|
output.maxItems = 0;
|
|
270
343
|
}
|
|
271
344
|
}
|
|
272
|
-
return
|
|
345
|
+
return {
|
|
346
|
+
...output,
|
|
347
|
+
...getJsonSchemaAnnotations(ast)
|
|
348
|
+
};
|
|
273
349
|
}
|
|
274
350
|
case "TypeLiteral":
|
|
275
351
|
{
|
|
276
352
|
if (ast.propertySignatures.length === 0 && ast.indexSignatures.length === 0) {
|
|
277
|
-
return
|
|
353
|
+
return {
|
|
354
|
+
...constEmpty,
|
|
355
|
+
...getJsonSchemaAnnotations(ast)
|
|
356
|
+
};
|
|
278
357
|
}
|
|
279
358
|
let patternProperties = undefined;
|
|
280
359
|
let propertyNames = undefined;
|
|
@@ -283,12 +362,12 @@ const go = (ast, $defs, handleIdentifier, path) => {
|
|
|
283
362
|
switch (parameter._tag) {
|
|
284
363
|
case "StringKeyword":
|
|
285
364
|
{
|
|
286
|
-
patternProperties = go(is.type, $defs, true, path);
|
|
365
|
+
patternProperties = go(is.type, $defs, true, path, options);
|
|
287
366
|
break;
|
|
288
367
|
}
|
|
289
368
|
case "TemplateLiteral":
|
|
290
369
|
{
|
|
291
|
-
patternProperties = go(is.type, $defs, true, path);
|
|
370
|
+
patternProperties = go(is.type, $defs, true, path, options);
|
|
292
371
|
propertyNames = {
|
|
293
372
|
type: "string",
|
|
294
373
|
pattern: AST.getTemplateLiteralRegExp(parameter).source
|
|
@@ -297,8 +376,8 @@ const go = (ast, $defs, handleIdentifier, path) => {
|
|
|
297
376
|
}
|
|
298
377
|
case "Refinement":
|
|
299
378
|
{
|
|
300
|
-
patternProperties = go(is.type, $defs, true, path);
|
|
301
|
-
propertyNames = go(parameter, $defs, true, path);
|
|
379
|
+
patternProperties = go(is.type, $defs, true, path, options);
|
|
380
|
+
propertyNames = go(parameter, $defs, true, path, options);
|
|
302
381
|
break;
|
|
303
382
|
}
|
|
304
383
|
case "SymbolKeyword":
|
|
@@ -319,7 +398,10 @@ const go = (ast, $defs, handleIdentifier, path) => {
|
|
|
319
398
|
const name = ps.name;
|
|
320
399
|
if (Predicate.isString(name)) {
|
|
321
400
|
const pruned = pruneUndefinedFromPropertySignature(ps.type);
|
|
322
|
-
output.properties[name] =
|
|
401
|
+
output.properties[name] = {
|
|
402
|
+
...go(pruned ?? ps.type, $defs, true, path.concat(ps.name), options),
|
|
403
|
+
...getJsonSchemaAnnotations(ps)
|
|
404
|
+
};
|
|
323
405
|
// ---------------------------------------------
|
|
324
406
|
// handle optional property signatures
|
|
325
407
|
// ---------------------------------------------
|
|
@@ -342,67 +424,74 @@ const go = (ast, $defs, handleIdentifier, path) => {
|
|
|
342
424
|
if (propertyNames !== undefined) {
|
|
343
425
|
output.propertyNames = propertyNames;
|
|
344
426
|
}
|
|
345
|
-
return
|
|
427
|
+
return {
|
|
428
|
+
...output,
|
|
429
|
+
...getJsonSchemaAnnotations(ast)
|
|
430
|
+
};
|
|
346
431
|
}
|
|
347
432
|
case "Union":
|
|
348
433
|
{
|
|
349
|
-
const enums = [];
|
|
350
434
|
const anyOf = [];
|
|
351
435
|
for (const type of ast.types) {
|
|
352
|
-
const schema = go(type, $defs, true, path);
|
|
436
|
+
const schema = go(type, $defs, true, path, options);
|
|
353
437
|
if ("enum" in schema) {
|
|
354
438
|
if (Object.keys(schema).length > 1) {
|
|
355
439
|
anyOf.push(schema);
|
|
356
440
|
} else {
|
|
357
|
-
|
|
358
|
-
|
|
441
|
+
const last = anyOf[anyOf.length - 1];
|
|
442
|
+
if (last !== undefined && isEnumOnly(last)) {
|
|
443
|
+
for (const e of schema.enum) {
|
|
444
|
+
last.enum.push(e);
|
|
445
|
+
}
|
|
446
|
+
} else {
|
|
447
|
+
anyOf.push(schema);
|
|
359
448
|
}
|
|
360
449
|
}
|
|
361
450
|
} else {
|
|
362
451
|
anyOf.push(schema);
|
|
363
452
|
}
|
|
364
453
|
}
|
|
365
|
-
if (anyOf.length === 0) {
|
|
366
|
-
return
|
|
367
|
-
enum:
|
|
368
|
-
|
|
454
|
+
if (anyOf.length === 1 && isEnumOnly(anyOf[0])) {
|
|
455
|
+
return {
|
|
456
|
+
enum: anyOf[0].enum,
|
|
457
|
+
...getJsonSchemaAnnotations(ast)
|
|
458
|
+
};
|
|
369
459
|
} else {
|
|
370
|
-
|
|
371
|
-
anyOf
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
}
|
|
375
|
-
return merge({
|
|
376
|
-
anyOf
|
|
377
|
-
}, getJsonSchemaAnnotations(ast));
|
|
460
|
+
return {
|
|
461
|
+
anyOf,
|
|
462
|
+
...getJsonSchemaAnnotations(ast)
|
|
463
|
+
};
|
|
378
464
|
}
|
|
379
465
|
}
|
|
380
466
|
case "Enums":
|
|
381
467
|
{
|
|
382
|
-
return
|
|
468
|
+
return {
|
|
383
469
|
$comment: "/schemas/enums",
|
|
384
470
|
anyOf: ast.enums.map(e => ({
|
|
385
471
|
title: e[0],
|
|
386
472
|
enum: [e[1]]
|
|
387
|
-
}))
|
|
388
|
-
|
|
473
|
+
})),
|
|
474
|
+
...getJsonSchemaAnnotations(ast)
|
|
475
|
+
};
|
|
389
476
|
}
|
|
390
477
|
case "Refinement":
|
|
391
478
|
{
|
|
392
|
-
if
|
|
479
|
+
// The jsonSchema annotation is required only if the refinement does not have a transformation
|
|
480
|
+
if (AST.getTransformationFrom(ast) === undefined) {
|
|
393
481
|
throw new Error(errors_.getJSONSchemaMissingAnnotationErrorMessage(path, ast));
|
|
394
482
|
}
|
|
395
|
-
return go(ast.from, $defs,
|
|
483
|
+
return go(ast.from, $defs, handleIdentifier, path, options);
|
|
396
484
|
}
|
|
397
485
|
case "TemplateLiteral":
|
|
398
486
|
{
|
|
399
487
|
const regex = AST.getTemplateLiteralRegExp(ast);
|
|
400
|
-
return
|
|
488
|
+
return {
|
|
401
489
|
type: "string",
|
|
402
490
|
title: String(ast),
|
|
403
491
|
description: "a template literal",
|
|
404
|
-
pattern: regex.source
|
|
405
|
-
|
|
492
|
+
pattern: regex.source,
|
|
493
|
+
...getJsonSchemaAnnotations(ast)
|
|
494
|
+
};
|
|
406
495
|
}
|
|
407
496
|
case "Suspend":
|
|
408
497
|
{
|
|
@@ -410,16 +499,19 @@ const go = (ast, $defs, handleIdentifier, path) => {
|
|
|
410
499
|
if (Option.isNone(identifier)) {
|
|
411
500
|
throw new Error(errors_.getJSONSchemaMissingIdentifierAnnotationErrorMessage(path, ast));
|
|
412
501
|
}
|
|
413
|
-
return go(ast.f(), $defs,
|
|
502
|
+
return go(ast.f(), $defs, handleIdentifier, path, options);
|
|
414
503
|
}
|
|
415
504
|
case "Transformation":
|
|
416
505
|
{
|
|
417
|
-
// Properly handle S.parseJson transformations by focusing on
|
|
418
|
-
// the 'to' side of the AST. This approach prevents the generation of useless schemas
|
|
419
|
-
// derived from the 'from' side (type: string), ensuring the output matches the intended
|
|
420
|
-
// complex schema type.
|
|
421
506
|
if (isParseJsonTransformation(ast.from)) {
|
|
422
|
-
|
|
507
|
+
const out = {
|
|
508
|
+
"type": "string",
|
|
509
|
+
"contentMediaType": "application/json"
|
|
510
|
+
};
|
|
511
|
+
if (options.target !== "jsonSchema7") {
|
|
512
|
+
out["contentSchema"] = go(ast.to, $defs, handleIdentifier, path, options);
|
|
513
|
+
}
|
|
514
|
+
return out;
|
|
423
515
|
}
|
|
424
516
|
let next = ast.from;
|
|
425
517
|
if (AST.isTypeLiteralTransformation(ast.transformation)) {
|
|
@@ -444,7 +536,7 @@ const go = (ast, $defs, handleIdentifier, path) => {
|
|
|
444
536
|
});
|
|
445
537
|
}
|
|
446
538
|
}
|
|
447
|
-
return go(next, $defs,
|
|
539
|
+
return go(next, $defs, handleIdentifier, path, options);
|
|
448
540
|
}
|
|
449
541
|
}
|
|
450
542
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JSONSchema.js","names":["errors_","_interopRequireWildcard","require","Option","Predicate","Record","AST","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","make","schema","$defs","jsonSchema","go","ast","out","$schema","id","get$ref","isEmptyRecord","exports","anyJsonSchema","$id","unknownJsonSchema","voidJsonSchema","objectJsonSchema","empty","getJsonSchemaAnnotations","annotated","getSomes","description","getDescriptionAnnotation","title","getTitleAnnotation","examples","getExamplesAnnotation","getDefaultAnnotation","removeDefaultJsonSchemaAnnotations","jsonSchemaAnnotations","annotations","TitleAnnotationId","DescriptionAnnotationId","getASTJsonSchemaAnnotations","_tag","stringKeyword","numberKeyword","booleanKeyword","pruneUndefinedFromPropertySignature","isNone","getJSONSchemaAnnotation","types","filter","type","isUndefinedKeyword","length","Union","isParseJsonTransformation","from","to","DEFINITION_PREFIX","getRefinementInnerTransformation","f","isRefinement","SchemaIdAnnotationId","ParseJsonSchemaId","merge","b","isOverrideAnnotation","handleIdentifier","path","hook","isSome","handler","value","undefined","surrogate","getSurrogateAnnotation","isTransformation","identifier","getJSONIdentifier","$ref","Error","getJSONSchemaMissingAnnotationErrorMessage","literal","enum","isString","isNumber","isBoolean","elements","map","concat","rest","annotatedAST","output","len","minItems","element","isOptional","items","restLength","head","isHomogeneous","every","additionalItems","getJSONSchemaUnsupportedPostRestElementsErrorMessage","maxItems","propertySignatures","indexSignatures","patternProperties","propertyNames","is","parameter","pattern","getTemplateLiteralRegExp","source","getJSONSchemaUnsupportedParameterErrorMessage","required","properties","additionalProperties","ps","name","pruned","push","getJSONSchemaUnsupportedKeyErrorMessage","enums","anyOf","keys","$comment","encodedBoundAST","regex","String","orElse","getJSONSchemaMissingIdentifierAnnotationErrorMessage","next","isTypeLiteralTransformation","transformation","getIdentifierAnnotation","IdentifierAnnotationId"],"sources":["../../src/JSONSchema.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"JSONSchema.js","names":["errors_","_interopRequireWildcard","require","Option","Predicate","Record","AST","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","make","schema","definitions","ast","isTransformation","isParseJsonTransformation","from","to","out","fromAST","$schema","isEmptyRecord","$defs","exports","options","definitionPath","getRef","id","target","handleIdentifier","topLevelReferenceStrategy","go","constNever","constAny","constUnknown","constVoid","constAnyObject","constEmpty","getJsonSchemaAnnotations","annotated","getSomes","description","getDescriptionAnnotation","title","getTitleAnnotation","examples","getExamplesAnnotation","getDefaultAnnotation","removeDefaultJsonSchemaAnnotations","jsonSchemaAnnotations","annotations","TitleAnnotationId","DescriptionAnnotationId","getASTJsonSchemaAnnotations","_tag","stringKeyword","numberKeyword","booleanKeyword","pruneUndefinedFromPropertySignature","isNone","getJSONSchemaAnnotation","neverKeyword","types","hasUndefined","type","pruned","isNeverKeyword","push","Union","f","SchemaIdAnnotationId","ParseJsonSchemaId","isOverrideAnnotation","jsonSchema","isEnumOnly","keys","length","mergeRefinements","allOf","handle","name","filter","unshift","minLength","maxLength","pattern","minItems","maxItems","minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","path","identifier","getJSONIdentifier","isSome","value","$ref","hook","handler","isRefinement","getTransformationFrom","undefined","surrogate","getSurrogateAnnotation","Error","getJSONSchemaMissingAnnotationErrorMessage","literal","enum","isString","isNumber","isBoolean","elements","map","concat","rest","annotatedAST","output","len","element","isOptional","items","restLength","head","isHomogeneous","every","additionalItems","getJSONSchemaUnsupportedPostRestElementsErrorMessage","propertySignatures","indexSignatures","patternProperties","propertyNames","is","parameter","getTemplateLiteralRegExp","source","getJSONSchemaUnsupportedParameterErrorMessage","required","properties","additionalProperties","ps","getJSONSchemaUnsupportedKeyErrorMessage","anyOf","last","$comment","enums","regex","String","orElse","getJSONSchemaMissingIdentifierAnnotationErrorMessage","next","isTypeLiteralTransformation","transformation","getIdentifierAnnotation","IdentifierAnnotationId"],"sources":["../../src/JSONSchema.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|