effect 3.9.2 → 3.10.1
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/Arbitrary/package.json +6 -0
- package/FastCheck/package.json +6 -0
- package/JSONSchema/package.json +6 -0
- package/ParseResult/package.json +6 -0
- package/Pretty/package.json +6 -0
- package/Schema/package.json +6 -0
- package/SchemaAST/package.json +6 -0
- package/TSubscriptionRef/package.json +6 -0
- package/dist/cjs/Arbitrary.js +490 -0
- package/dist/cjs/Arbitrary.js.map +1 -0
- package/dist/cjs/Effect.js +247 -16
- package/dist/cjs/Effect.js.map +1 -1
- package/dist/cjs/FastCheck.js +17 -0
- package/dist/cjs/FastCheck.js.map +1 -0
- package/dist/cjs/Inspectable.js +43 -3
- package/dist/cjs/Inspectable.js.map +1 -1
- package/dist/cjs/JSONSchema.js +418 -0
- package/dist/cjs/JSONSchema.js.map +1 -0
- package/dist/cjs/ParseResult.js +1539 -0
- package/dist/cjs/ParseResult.js.map +1 -0
- package/dist/cjs/Predicate.js +3 -1
- package/dist/cjs/Predicate.js.map +1 -1
- package/dist/cjs/Pretty.js +183 -0
- package/dist/cjs/Pretty.js.map +1 -0
- package/dist/cjs/Schema.js +5529 -0
- package/dist/cjs/Schema.js.map +1 -0
- package/dist/cjs/SchemaAST.js +2365 -0
- package/dist/cjs/SchemaAST.js.map +1 -0
- package/dist/cjs/Stream.js +17 -3
- package/dist/cjs/Stream.js.map +1 -1
- package/dist/cjs/TPubSub.js +9 -1
- package/dist/cjs/TPubSub.js.map +1 -1
- package/dist/cjs/TQueue.js.map +1 -1
- package/dist/cjs/TRef.js.map +1 -1
- package/dist/cjs/TSubscriptionRef.js +96 -0
- package/dist/cjs/TSubscriptionRef.js.map +1 -0
- package/dist/cjs/index.js +18 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/internal/cause.js +2 -2
- package/dist/cjs/internal/cause.js.map +1 -1
- package/dist/cjs/internal/channel/channelExecutor.js +160 -161
- package/dist/cjs/internal/channel/channelExecutor.js.map +1 -1
- package/dist/cjs/internal/core.js +4 -4
- package/dist/cjs/internal/core.js.map +1 -1
- package/dist/cjs/internal/fiberRuntime.js +14 -12
- package/dist/cjs/internal/fiberRuntime.js.map +1 -1
- package/dist/cjs/internal/logger.js +7 -6
- package/dist/cjs/internal/logger.js.map +1 -1
- package/dist/cjs/internal/redacted.js +4 -0
- package/dist/cjs/internal/redacted.js.map +1 -1
- package/dist/cjs/internal/schema/errors.js +116 -0
- package/dist/cjs/internal/schema/errors.js.map +1 -0
- package/dist/cjs/internal/schema/filters.js +41 -0
- package/dist/cjs/internal/schema/filters.js.map +1 -0
- package/dist/cjs/internal/schema/util.js +96 -0
- package/dist/cjs/internal/schema/util.js.map +1 -0
- package/dist/cjs/internal/stm/core.js +2 -3
- package/dist/cjs/internal/stm/core.js.map +1 -1
- package/dist/cjs/internal/stm/tPubSub.js.map +1 -1
- package/dist/cjs/internal/stm/tQueue.js +1 -2
- package/dist/cjs/internal/stm/tQueue.js.map +1 -1
- package/dist/cjs/internal/stm/tRef.js +6 -2
- package/dist/cjs/internal/stm/tRef.js.map +1 -1
- package/dist/cjs/internal/stm/tSubscriptionRef.js +178 -0
- package/dist/cjs/internal/stm/tSubscriptionRef.js.map +1 -0
- package/dist/cjs/internal/stream.js +36 -16
- package/dist/cjs/internal/stream.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/cjs/internal/version.js.map +1 -1
- package/dist/dts/Arbitrary.d.ts +45 -0
- package/dist/dts/Arbitrary.d.ts.map +1 -0
- package/dist/dts/Effect.d.ts +298 -30
- package/dist/dts/Effect.d.ts.map +1 -1
- package/dist/dts/FastCheck.d.ts +9 -0
- package/dist/dts/FastCheck.d.ts.map +1 -0
- package/dist/dts/Inspectable.d.ts +28 -0
- package/dist/dts/Inspectable.d.ts.map +1 -1
- package/dist/dts/JSONSchema.d.ts +181 -0
- package/dist/dts/JSONSchema.d.ts.map +1 -0
- package/dist/dts/ParseResult.d.ts +551 -0
- package/dist/dts/ParseResult.d.ts.map +1 -0
- package/dist/dts/Predicate.d.ts.map +1 -1
- package/dist/dts/Pretty.d.ts +26 -0
- package/dist/dts/Pretty.d.ts.map +1 -0
- package/dist/dts/Schema.d.ts +4562 -0
- package/dist/dts/Schema.d.ts.map +1 -0
- package/dist/dts/SchemaAST.d.ts +1321 -0
- package/dist/dts/SchemaAST.d.ts.map +1 -0
- package/dist/dts/Stream.d.ts +67 -2
- package/dist/dts/Stream.d.ts.map +1 -1
- package/dist/dts/TPubSub.d.ts +8 -0
- package/dist/dts/TPubSub.d.ts.map +1 -1
- package/dist/dts/TQueue.d.ts +7 -7
- package/dist/dts/TQueue.d.ts.map +1 -1
- package/dist/dts/TRef.d.ts +2 -1
- package/dist/dts/TRef.d.ts.map +1 -1
- package/dist/dts/TSubscriptionRef.d.ts +251 -0
- package/dist/dts/TSubscriptionRef.d.ts.map +1 -0
- package/dist/dts/index.d.ts +32 -0
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/dts/internal/fiberRuntime.d.ts.map +1 -1
- package/dist/dts/internal/schema/errors.d.ts +2 -0
- package/dist/dts/internal/schema/errors.d.ts.map +1 -0
- package/dist/dts/internal/schema/filters.d.ts +2 -0
- package/dist/dts/internal/schema/filters.d.ts.map +1 -0
- package/dist/dts/internal/schema/util.d.ts +2 -0
- package/dist/dts/internal/schema/util.d.ts.map +1 -0
- package/dist/dts/internal/stm/tRef.d.ts +3 -1
- package/dist/dts/internal/stm/tRef.d.ts.map +1 -1
- package/dist/dts/internal/stm/tSubscriptionRef.d.ts +2 -0
- package/dist/dts/internal/stm/tSubscriptionRef.d.ts.map +1 -0
- package/dist/dts/internal/stream.d.ts.map +1 -1
- package/dist/esm/Arbitrary.js +472 -0
- package/dist/esm/Arbitrary.js.map +1 -0
- package/dist/esm/Effect.js +256 -18
- package/dist/esm/Effect.js.map +1 -1
- package/dist/esm/FastCheck.js +9 -0
- package/dist/esm/FastCheck.js.map +1 -0
- package/dist/esm/Inspectable.js +39 -2
- package/dist/esm/Inspectable.js.map +1 -1
- package/dist/esm/JSONSchema.js +408 -0
- package/dist/esm/JSONSchema.js.map +1 -0
- package/dist/esm/ParseResult.js +1503 -0
- package/dist/esm/ParseResult.js.map +1 -0
- package/dist/esm/Predicate.js +2 -1
- package/dist/esm/Predicate.js.map +1 -1
- package/dist/esm/Pretty.js +173 -0
- package/dist/esm/Pretty.js.map +1 -0
- package/dist/esm/Schema.js +5328 -0
- package/dist/esm/Schema.js.map +1 -0
- package/dist/esm/SchemaAST.js +2300 -0
- package/dist/esm/SchemaAST.js.map +1 -0
- package/dist/esm/Stream.js +14 -0
- package/dist/esm/Stream.js.map +1 -1
- package/dist/esm/TPubSub.js +8 -0
- package/dist/esm/TPubSub.js.map +1 -1
- package/dist/esm/TQueue.js.map +1 -1
- package/dist/esm/TRef.js.map +1 -1
- package/dist/esm/TSubscriptionRef.js +87 -0
- package/dist/esm/TSubscriptionRef.js.map +1 -0
- package/dist/esm/index.js +32 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/cause.js +3 -3
- package/dist/esm/internal/cause.js.map +1 -1
- package/dist/esm/internal/channel/channelExecutor.js +160 -161
- package/dist/esm/internal/channel/channelExecutor.js.map +1 -1
- package/dist/esm/internal/core.js +4 -4
- package/dist/esm/internal/core.js.map +1 -1
- package/dist/esm/internal/fiberRuntime.js +14 -12
- package/dist/esm/internal/fiberRuntime.js.map +1 -1
- package/dist/esm/internal/logger.js +7 -6
- package/dist/esm/internal/logger.js.map +1 -1
- package/dist/esm/internal/redacted.js +4 -0
- package/dist/esm/internal/redacted.js.map +1 -1
- package/dist/esm/internal/schema/errors.js +87 -0
- package/dist/esm/internal/schema/errors.js.map +1 -0
- package/dist/esm/internal/schema/filters.js +35 -0
- package/dist/esm/internal/schema/filters.js.map +1 -0
- package/dist/esm/internal/schema/util.js +78 -0
- package/dist/esm/internal/schema/util.js.map +1 -0
- package/dist/esm/internal/stm/core.js +1 -2
- package/dist/esm/internal/stm/core.js.map +1 -1
- package/dist/esm/internal/stm/tPubSub.js.map +1 -1
- package/dist/esm/internal/stm/tQueue.js +1 -2
- package/dist/esm/internal/stm/tQueue.js.map +1 -1
- package/dist/esm/internal/stm/tRef.js +5 -1
- package/dist/esm/internal/stm/tRef.js.map +1 -1
- package/dist/esm/internal/stm/tSubscriptionRef.js +166 -0
- package/dist/esm/internal/stm/tSubscriptionRef.js.map +1 -0
- package/dist/esm/internal/stream.js +33 -15
- package/dist/esm/internal/stream.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/dist/esm/internal/version.js.map +1 -1
- package/package.json +68 -1
- package/src/Arbitrary.ts +563 -0
- package/src/Effect.ts +302 -31
- package/src/FastCheck.ts +9 -0
- package/src/Inspectable.ts +56 -2
- package/src/JSONSchema.ts +601 -0
- package/src/ParseResult.ts +2027 -0
- package/src/Predicate.ts +3 -1
- package/src/Pretty.ts +204 -0
- package/src/Schema.ts +10388 -0
- package/src/SchemaAST.ts +2827 -0
- package/src/Stream.ts +77 -9
- package/src/TPubSub.ts +9 -0
- package/src/TQueue.ts +7 -7
- package/src/TRef.ts +2 -1
- package/src/TSubscriptionRef.ts +284 -0
- package/src/index.ts +40 -0
- package/src/internal/cause.ts +3 -3
- package/src/internal/channel/channelExecutor.ts +213 -214
- package/src/internal/core-effect.ts +2 -2
- package/src/internal/core.ts +4 -4
- package/src/internal/fiberRuntime.ts +14 -12
- package/src/internal/logger.ts +7 -6
- package/src/internal/redacted.ts +4 -0
- package/src/internal/schema/errors.ts +189 -0
- package/src/internal/schema/filters.ts +86 -0
- package/src/internal/schema/util.ts +113 -0
- package/src/internal/stm/core.ts +1 -2
- package/src/internal/stm/tPubSub.ts +1 -0
- package/src/internal/stm/tQueue.ts +2 -2
- package/src/internal/stm/tRef.ts +7 -2
- package/src/internal/stm/tSubscriptionRef.ts +286 -0
- package/src/internal/stream.ts +97 -20
- package/src/internal/version.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Inspectable.js","names":["
|
|
1
|
+
{"version":3,"file":"Inspectable.js","names":["_GlobalValue","require","_Predicate","NodeInspectSymbol","exports","Symbol","for","toJSON","x","hasProperty","isFunction","length","Array","isArray","map","redact","format","JSON","stringify","BaseProto","toString","Class","toStringUnknown","u","whitespace","stringifyCircular","String","_","obj","cache","retVal","_key","value","includes","undefined","push","redactableState","fiberRefs","isRedactable","symbolRedactable","globalValue","withRedactableContext","context","f","prev"],"sources":["../../src/Inspectable.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,418 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.make = exports.DEFINITION_PREFIX = void 0;
|
|
7
|
+
var errors_ = _interopRequireWildcard(require("./internal/schema/errors.js"));
|
|
8
|
+
var Option = _interopRequireWildcard(require("./Option.js"));
|
|
9
|
+
var Predicate = _interopRequireWildcard(require("./Predicate.js"));
|
|
10
|
+
var Record = _interopRequireWildcard(require("./Record.js"));
|
|
11
|
+
var AST = _interopRequireWildcard(require("./SchemaAST.js"));
|
|
12
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
13
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
14
|
+
/**
|
|
15
|
+
* @since 3.10.0
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* @category encoding
|
|
20
|
+
* @since 3.10.0
|
|
21
|
+
*/
|
|
22
|
+
const make = schema => {
|
|
23
|
+
const $defs = {};
|
|
24
|
+
const jsonSchema = go(schema.ast, $defs, true, []);
|
|
25
|
+
const out = {
|
|
26
|
+
$schema,
|
|
27
|
+
...jsonSchema
|
|
28
|
+
};
|
|
29
|
+
// clean up self-referencing entries
|
|
30
|
+
for (const id in $defs) {
|
|
31
|
+
if ($defs[id]["$ref"] === get$ref(id)) {
|
|
32
|
+
delete $defs[id];
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
if (!Record.isEmptyRecord($defs)) {
|
|
36
|
+
out.$defs = $defs;
|
|
37
|
+
}
|
|
38
|
+
return out;
|
|
39
|
+
};
|
|
40
|
+
exports.make = make;
|
|
41
|
+
const anyJsonSchema = {
|
|
42
|
+
$id: "/schemas/any"
|
|
43
|
+
};
|
|
44
|
+
const unknownJsonSchema = {
|
|
45
|
+
$id: "/schemas/unknown"
|
|
46
|
+
};
|
|
47
|
+
const voidJsonSchema = {
|
|
48
|
+
$id: "/schemas/void"
|
|
49
|
+
};
|
|
50
|
+
const objectJsonSchema = {
|
|
51
|
+
"$id": "/schemas/object",
|
|
52
|
+
"anyOf": [{
|
|
53
|
+
"type": "object"
|
|
54
|
+
}, {
|
|
55
|
+
"type": "array"
|
|
56
|
+
}]
|
|
57
|
+
};
|
|
58
|
+
const empty = () => ({
|
|
59
|
+
"$id": "/schemas/{}",
|
|
60
|
+
"anyOf": [{
|
|
61
|
+
"type": "object"
|
|
62
|
+
}, {
|
|
63
|
+
"type": "array"
|
|
64
|
+
}]
|
|
65
|
+
});
|
|
66
|
+
const $schema = "http://json-schema.org/draft-07/schema#";
|
|
67
|
+
const getJsonSchemaAnnotations = annotated => Record.getSomes({
|
|
68
|
+
description: AST.getDescriptionAnnotation(annotated),
|
|
69
|
+
title: AST.getTitleAnnotation(annotated),
|
|
70
|
+
examples: AST.getExamplesAnnotation(annotated),
|
|
71
|
+
default: AST.getDefaultAnnotation(annotated)
|
|
72
|
+
});
|
|
73
|
+
const removeDefaultJsonSchemaAnnotations = (jsonSchemaAnnotations, ast) => {
|
|
74
|
+
if (jsonSchemaAnnotations["title"] === ast.annotations[AST.TitleAnnotationId]) {
|
|
75
|
+
delete jsonSchemaAnnotations["title"];
|
|
76
|
+
}
|
|
77
|
+
if (jsonSchemaAnnotations["description"] === ast.annotations[AST.DescriptionAnnotationId]) {
|
|
78
|
+
delete jsonSchemaAnnotations["description"];
|
|
79
|
+
}
|
|
80
|
+
return jsonSchemaAnnotations;
|
|
81
|
+
};
|
|
82
|
+
const getASTJsonSchemaAnnotations = ast => {
|
|
83
|
+
const jsonSchemaAnnotations = getJsonSchemaAnnotations(ast);
|
|
84
|
+
switch (ast._tag) {
|
|
85
|
+
case "StringKeyword":
|
|
86
|
+
return removeDefaultJsonSchemaAnnotations(jsonSchemaAnnotations, AST.stringKeyword);
|
|
87
|
+
case "NumberKeyword":
|
|
88
|
+
return removeDefaultJsonSchemaAnnotations(jsonSchemaAnnotations, AST.numberKeyword);
|
|
89
|
+
case "BooleanKeyword":
|
|
90
|
+
return removeDefaultJsonSchemaAnnotations(jsonSchemaAnnotations, AST.booleanKeyword);
|
|
91
|
+
default:
|
|
92
|
+
return jsonSchemaAnnotations;
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
const pruneUndefinedKeyword = ps => {
|
|
96
|
+
const type = ps.type;
|
|
97
|
+
if (AST.isUnion(type) && Option.isNone(AST.getJSONSchemaAnnotation(type))) {
|
|
98
|
+
const types = type.types.filter(type => !AST.isUndefinedKeyword(type));
|
|
99
|
+
if (types.length < type.types.length) {
|
|
100
|
+
return AST.Union.make(types, type.annotations);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
/** @internal */
|
|
105
|
+
const DEFINITION_PREFIX = exports.DEFINITION_PREFIX = "#/$defs/";
|
|
106
|
+
const get$ref = id => `${DEFINITION_PREFIX}${id}`;
|
|
107
|
+
const getRefinementInnerTransformation = ast => {
|
|
108
|
+
switch (ast.from._tag) {
|
|
109
|
+
case "Transformation":
|
|
110
|
+
return ast.from;
|
|
111
|
+
case "Refinement":
|
|
112
|
+
return getRefinementInnerTransformation(ast.from);
|
|
113
|
+
case "Suspend":
|
|
114
|
+
{
|
|
115
|
+
const from = ast.from.f();
|
|
116
|
+
if (AST.isRefinement(from)) {
|
|
117
|
+
return getRefinementInnerTransformation(from);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
const isParseJsonTransformation = ast => ast.annotations[AST.SchemaIdAnnotationId] === AST.ParseJsonSchemaId;
|
|
123
|
+
function merge(a, b) {
|
|
124
|
+
return {
|
|
125
|
+
...a,
|
|
126
|
+
...b
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
const isOverrideAnnotation = jsonSchema => {
|
|
130
|
+
return "type" in jsonSchema || "oneOf" in jsonSchema || "anyOf" in jsonSchema || "const" in jsonSchema || "enum" in jsonSchema || "$ref" in jsonSchema;
|
|
131
|
+
};
|
|
132
|
+
const go = (ast, $defs, handleIdentifier, path) => {
|
|
133
|
+
const hook = AST.getJSONSchemaAnnotation(ast);
|
|
134
|
+
if (Option.isSome(hook)) {
|
|
135
|
+
const handler = hook.value;
|
|
136
|
+
if (AST.isRefinement(ast)) {
|
|
137
|
+
const t = getRefinementInnerTransformation(ast);
|
|
138
|
+
if (t === undefined) {
|
|
139
|
+
try {
|
|
140
|
+
return {
|
|
141
|
+
...go(ast.from, $defs, true, path),
|
|
142
|
+
...getJsonSchemaAnnotations(ast),
|
|
143
|
+
...handler
|
|
144
|
+
};
|
|
145
|
+
} catch (e) {
|
|
146
|
+
return {
|
|
147
|
+
...getJsonSchemaAnnotations(ast),
|
|
148
|
+
...handler
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
} else if (!isOverrideAnnotation(handler)) {
|
|
152
|
+
return go(t, $defs, true, path);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
return handler;
|
|
156
|
+
}
|
|
157
|
+
const surrogate = AST.getSurrogateAnnotation(ast);
|
|
158
|
+
if (Option.isSome(surrogate)) {
|
|
159
|
+
return go(surrogate.value, $defs, handleIdentifier, path);
|
|
160
|
+
}
|
|
161
|
+
if (handleIdentifier && !AST.isTransformation(ast) && !AST.isRefinement(ast)) {
|
|
162
|
+
const identifier = AST.getJSONIdentifier(ast);
|
|
163
|
+
if (Option.isSome(identifier)) {
|
|
164
|
+
const id = identifier.value;
|
|
165
|
+
const out = {
|
|
166
|
+
$ref: get$ref(id)
|
|
167
|
+
};
|
|
168
|
+
if (!Record.has($defs, id)) {
|
|
169
|
+
$defs[id] = out;
|
|
170
|
+
$defs[id] = go(ast, $defs, false, path);
|
|
171
|
+
}
|
|
172
|
+
return out;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
switch (ast._tag) {
|
|
176
|
+
case "Declaration":
|
|
177
|
+
throw new Error(errors_.getJSONSchemaMissingAnnotationErrorMessage(path, ast));
|
|
178
|
+
case "Literal":
|
|
179
|
+
{
|
|
180
|
+
const literal = ast.literal;
|
|
181
|
+
if (literal === null) {
|
|
182
|
+
return merge({
|
|
183
|
+
enum: [null]
|
|
184
|
+
}, getJsonSchemaAnnotations(ast));
|
|
185
|
+
} else if (Predicate.isString(literal) || Predicate.isNumber(literal) || Predicate.isBoolean(literal)) {
|
|
186
|
+
return merge({
|
|
187
|
+
enum: [literal]
|
|
188
|
+
}, getJsonSchemaAnnotations(ast));
|
|
189
|
+
}
|
|
190
|
+
throw new Error(errors_.getJSONSchemaMissingAnnotationErrorMessage(path, ast));
|
|
191
|
+
}
|
|
192
|
+
case "UniqueSymbol":
|
|
193
|
+
throw new Error(errors_.getJSONSchemaMissingAnnotationErrorMessage(path, ast));
|
|
194
|
+
case "UndefinedKeyword":
|
|
195
|
+
throw new Error(errors_.getJSONSchemaMissingAnnotationErrorMessage(path, ast));
|
|
196
|
+
case "VoidKeyword":
|
|
197
|
+
return merge(voidJsonSchema, getJsonSchemaAnnotations(ast));
|
|
198
|
+
case "NeverKeyword":
|
|
199
|
+
throw new Error(errors_.getJSONSchemaMissingAnnotationErrorMessage(path, ast));
|
|
200
|
+
case "UnknownKeyword":
|
|
201
|
+
return merge(unknownJsonSchema, getJsonSchemaAnnotations(ast));
|
|
202
|
+
case "AnyKeyword":
|
|
203
|
+
return merge(anyJsonSchema, getJsonSchemaAnnotations(ast));
|
|
204
|
+
case "ObjectKeyword":
|
|
205
|
+
return merge(objectJsonSchema, getJsonSchemaAnnotations(ast));
|
|
206
|
+
case "StringKeyword":
|
|
207
|
+
return {
|
|
208
|
+
type: "string",
|
|
209
|
+
...getASTJsonSchemaAnnotations(ast)
|
|
210
|
+
};
|
|
211
|
+
case "NumberKeyword":
|
|
212
|
+
return {
|
|
213
|
+
type: "number",
|
|
214
|
+
...getASTJsonSchemaAnnotations(ast)
|
|
215
|
+
};
|
|
216
|
+
case "BooleanKeyword":
|
|
217
|
+
return {
|
|
218
|
+
type: "boolean",
|
|
219
|
+
...getASTJsonSchemaAnnotations(ast)
|
|
220
|
+
};
|
|
221
|
+
case "BigIntKeyword":
|
|
222
|
+
throw new Error(errors_.getJSONSchemaMissingAnnotationErrorMessage(path, ast));
|
|
223
|
+
case "SymbolKeyword":
|
|
224
|
+
throw new Error(errors_.getJSONSchemaMissingAnnotationErrorMessage(path, ast));
|
|
225
|
+
case "TupleType":
|
|
226
|
+
{
|
|
227
|
+
const elements = ast.elements.map((e, i) => merge(go(e.type, $defs, true, path.concat(i)), getJsonSchemaAnnotations(e)));
|
|
228
|
+
const rest = ast.rest.map(annotatedAST => merge(go(annotatedAST.type, $defs, true, path), getJsonSchemaAnnotations(annotatedAST)));
|
|
229
|
+
const output = {
|
|
230
|
+
type: "array"
|
|
231
|
+
};
|
|
232
|
+
// ---------------------------------------------
|
|
233
|
+
// handle elements
|
|
234
|
+
// ---------------------------------------------
|
|
235
|
+
const len = ast.elements.length;
|
|
236
|
+
if (len > 0) {
|
|
237
|
+
output.minItems = len - ast.elements.filter(element => element.isOptional).length;
|
|
238
|
+
output.items = elements;
|
|
239
|
+
}
|
|
240
|
+
// ---------------------------------------------
|
|
241
|
+
// handle rest element
|
|
242
|
+
// ---------------------------------------------
|
|
243
|
+
const restLength = rest.length;
|
|
244
|
+
if (restLength > 0) {
|
|
245
|
+
const head = rest[0];
|
|
246
|
+
const isHomogeneous = restLength === 1 && ast.elements.every(e => e.type === ast.rest[0].type);
|
|
247
|
+
if (isHomogeneous) {
|
|
248
|
+
output.items = head;
|
|
249
|
+
} else {
|
|
250
|
+
output.additionalItems = head;
|
|
251
|
+
}
|
|
252
|
+
// ---------------------------------------------
|
|
253
|
+
// handle post rest elements
|
|
254
|
+
// ---------------------------------------------
|
|
255
|
+
if (restLength > 1) {
|
|
256
|
+
throw new Error(errors_.getJSONSchemaUnsupportedPostRestElementsErrorMessage(path));
|
|
257
|
+
}
|
|
258
|
+
} else {
|
|
259
|
+
if (len > 0) {
|
|
260
|
+
output.additionalItems = false;
|
|
261
|
+
} else {
|
|
262
|
+
output.maxItems = 0;
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
return merge(output, getJsonSchemaAnnotations(ast));
|
|
266
|
+
}
|
|
267
|
+
case "TypeLiteral":
|
|
268
|
+
{
|
|
269
|
+
if (ast.propertySignatures.length === 0 && ast.indexSignatures.length === 0) {
|
|
270
|
+
return merge(empty(), getJsonSchemaAnnotations(ast));
|
|
271
|
+
}
|
|
272
|
+
let patternProperties = undefined;
|
|
273
|
+
let propertyNames = undefined;
|
|
274
|
+
for (const is of ast.indexSignatures) {
|
|
275
|
+
const parameter = is.parameter;
|
|
276
|
+
switch (parameter._tag) {
|
|
277
|
+
case "StringKeyword":
|
|
278
|
+
{
|
|
279
|
+
patternProperties = go(is.type, $defs, true, path);
|
|
280
|
+
break;
|
|
281
|
+
}
|
|
282
|
+
case "TemplateLiteral":
|
|
283
|
+
{
|
|
284
|
+
patternProperties = go(is.type, $defs, true, path);
|
|
285
|
+
propertyNames = {
|
|
286
|
+
type: "string",
|
|
287
|
+
pattern: AST.getTemplateLiteralRegExp(parameter).source
|
|
288
|
+
};
|
|
289
|
+
break;
|
|
290
|
+
}
|
|
291
|
+
case "Refinement":
|
|
292
|
+
{
|
|
293
|
+
patternProperties = go(is.type, $defs, true, path);
|
|
294
|
+
propertyNames = go(parameter, $defs, true, path);
|
|
295
|
+
break;
|
|
296
|
+
}
|
|
297
|
+
case "SymbolKeyword":
|
|
298
|
+
throw new Error(errors_.getJSONSchemaUnsupportedParameterErrorMessage(path, parameter));
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
const output = {
|
|
302
|
+
type: "object",
|
|
303
|
+
required: [],
|
|
304
|
+
properties: {},
|
|
305
|
+
additionalProperties: false
|
|
306
|
+
};
|
|
307
|
+
// ---------------------------------------------
|
|
308
|
+
// handle property signatures
|
|
309
|
+
// ---------------------------------------------
|
|
310
|
+
for (let i = 0; i < ast.propertySignatures.length; i++) {
|
|
311
|
+
const ps = ast.propertySignatures[i];
|
|
312
|
+
const name = ps.name;
|
|
313
|
+
if (Predicate.isString(name)) {
|
|
314
|
+
const pruned = pruneUndefinedKeyword(ps);
|
|
315
|
+
output.properties[name] = merge(go(pruned ? pruned : ps.type, $defs, true, path.concat(ps.name)), getJsonSchemaAnnotations(ps));
|
|
316
|
+
// ---------------------------------------------
|
|
317
|
+
// handle optional property signatures
|
|
318
|
+
// ---------------------------------------------
|
|
319
|
+
if (!ps.isOptional && pruned === undefined) {
|
|
320
|
+
output.required.push(name);
|
|
321
|
+
}
|
|
322
|
+
} else {
|
|
323
|
+
throw new Error(errors_.getJSONSchemaUnsupportedKeyErrorMessage(name, path));
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
// ---------------------------------------------
|
|
327
|
+
// handle index signatures
|
|
328
|
+
// ---------------------------------------------
|
|
329
|
+
if (patternProperties !== undefined) {
|
|
330
|
+
delete output.additionalProperties;
|
|
331
|
+
output.patternProperties = {
|
|
332
|
+
"": patternProperties
|
|
333
|
+
};
|
|
334
|
+
}
|
|
335
|
+
if (propertyNames !== undefined) {
|
|
336
|
+
output.propertyNames = propertyNames;
|
|
337
|
+
}
|
|
338
|
+
return merge(output, getJsonSchemaAnnotations(ast));
|
|
339
|
+
}
|
|
340
|
+
case "Union":
|
|
341
|
+
{
|
|
342
|
+
const enums = [];
|
|
343
|
+
const anyOf = [];
|
|
344
|
+
for (const type of ast.types) {
|
|
345
|
+
const schema = go(type, $defs, true, path);
|
|
346
|
+
if ("enum" in schema) {
|
|
347
|
+
if (Object.keys(schema).length > 1) {
|
|
348
|
+
anyOf.push(schema);
|
|
349
|
+
} else {
|
|
350
|
+
for (const e of schema.enum) {
|
|
351
|
+
enums.push(e);
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
} else {
|
|
355
|
+
anyOf.push(schema);
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
if (anyOf.length === 0) {
|
|
359
|
+
return merge({
|
|
360
|
+
enum: enums
|
|
361
|
+
}, getJsonSchemaAnnotations(ast));
|
|
362
|
+
} else {
|
|
363
|
+
if (enums.length >= 1) {
|
|
364
|
+
anyOf.push({
|
|
365
|
+
enum: enums
|
|
366
|
+
});
|
|
367
|
+
}
|
|
368
|
+
return merge({
|
|
369
|
+
anyOf
|
|
370
|
+
}, getJsonSchemaAnnotations(ast));
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
case "Enums":
|
|
374
|
+
{
|
|
375
|
+
return merge({
|
|
376
|
+
$comment: "/schemas/enums",
|
|
377
|
+
anyOf: ast.enums.map(e => ({
|
|
378
|
+
title: e[0],
|
|
379
|
+
enum: [e[1]]
|
|
380
|
+
}))
|
|
381
|
+
}, getJsonSchemaAnnotations(ast));
|
|
382
|
+
}
|
|
383
|
+
case "Refinement":
|
|
384
|
+
{
|
|
385
|
+
if (AST.encodedBoundAST(ast) === ast) {
|
|
386
|
+
throw new Error(errors_.getJSONSchemaMissingAnnotationErrorMessage(path, ast));
|
|
387
|
+
}
|
|
388
|
+
return go(ast.from, $defs, true, path);
|
|
389
|
+
}
|
|
390
|
+
case "TemplateLiteral":
|
|
391
|
+
{
|
|
392
|
+
const regex = AST.getTemplateLiteralRegExp(ast);
|
|
393
|
+
return merge({
|
|
394
|
+
type: "string",
|
|
395
|
+
description: "a template literal",
|
|
396
|
+
pattern: regex.source
|
|
397
|
+
}, getJsonSchemaAnnotations(ast));
|
|
398
|
+
}
|
|
399
|
+
case "Suspend":
|
|
400
|
+
{
|
|
401
|
+
const identifier = Option.orElse(AST.getJSONIdentifier(ast), () => AST.getJSONIdentifier(ast.f()));
|
|
402
|
+
if (Option.isNone(identifier)) {
|
|
403
|
+
throw new Error(errors_.getJSONSchemaMissingIdentifierAnnotationErrorMessage(path, ast));
|
|
404
|
+
}
|
|
405
|
+
return go(ast.f(), $defs, true, path);
|
|
406
|
+
}
|
|
407
|
+
case "Transformation":
|
|
408
|
+
{
|
|
409
|
+
// Properly handle S.parseJson transformations by focusing on
|
|
410
|
+
// the 'to' side of the AST. This approach prevents the generation of useless schemas
|
|
411
|
+
// derived from the 'from' side (type: string), ensuring the output matches the intended
|
|
412
|
+
// complex schema type.
|
|
413
|
+
const next = isParseJsonTransformation(ast.from) ? ast.to : ast.from;
|
|
414
|
+
return go(next, $defs, true, path);
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
};
|
|
418
|
+
//# sourceMappingURL=JSONSchema.js.map
|
|
@@ -0,0 +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","pruneUndefinedKeyword","ps","type","isUnion","isNone","getJSONSchemaAnnotation","types","filter","isUndefinedKeyword","length","Union","DEFINITION_PREFIX","getRefinementInnerTransformation","from","f","isRefinement","isParseJsonTransformation","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","name","pruned","push","getJSONSchemaUnsupportedKeyErrorMessage","enums","anyOf","keys","$comment","encodedBoundAST","regex","orElse","getJSONSchemaMissingIdentifierAnnotationErrorMessage","next","to"],"sources":["../../src/JSONSchema.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|