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.
Files changed (207) hide show
  1. package/Arbitrary/package.json +6 -0
  2. package/FastCheck/package.json +6 -0
  3. package/JSONSchema/package.json +6 -0
  4. package/ParseResult/package.json +6 -0
  5. package/Pretty/package.json +6 -0
  6. package/Schema/package.json +6 -0
  7. package/SchemaAST/package.json +6 -0
  8. package/TSubscriptionRef/package.json +6 -0
  9. package/dist/cjs/Arbitrary.js +490 -0
  10. package/dist/cjs/Arbitrary.js.map +1 -0
  11. package/dist/cjs/Effect.js +247 -16
  12. package/dist/cjs/Effect.js.map +1 -1
  13. package/dist/cjs/FastCheck.js +17 -0
  14. package/dist/cjs/FastCheck.js.map +1 -0
  15. package/dist/cjs/Inspectable.js +43 -3
  16. package/dist/cjs/Inspectable.js.map +1 -1
  17. package/dist/cjs/JSONSchema.js +418 -0
  18. package/dist/cjs/JSONSchema.js.map +1 -0
  19. package/dist/cjs/ParseResult.js +1539 -0
  20. package/dist/cjs/ParseResult.js.map +1 -0
  21. package/dist/cjs/Predicate.js +3 -1
  22. package/dist/cjs/Predicate.js.map +1 -1
  23. package/dist/cjs/Pretty.js +183 -0
  24. package/dist/cjs/Pretty.js.map +1 -0
  25. package/dist/cjs/Schema.js +5529 -0
  26. package/dist/cjs/Schema.js.map +1 -0
  27. package/dist/cjs/SchemaAST.js +2365 -0
  28. package/dist/cjs/SchemaAST.js.map +1 -0
  29. package/dist/cjs/Stream.js +17 -3
  30. package/dist/cjs/Stream.js.map +1 -1
  31. package/dist/cjs/TPubSub.js +9 -1
  32. package/dist/cjs/TPubSub.js.map +1 -1
  33. package/dist/cjs/TQueue.js.map +1 -1
  34. package/dist/cjs/TRef.js.map +1 -1
  35. package/dist/cjs/TSubscriptionRef.js +96 -0
  36. package/dist/cjs/TSubscriptionRef.js.map +1 -0
  37. package/dist/cjs/index.js +18 -2
  38. package/dist/cjs/index.js.map +1 -1
  39. package/dist/cjs/internal/cause.js +2 -2
  40. package/dist/cjs/internal/cause.js.map +1 -1
  41. package/dist/cjs/internal/channel/channelExecutor.js +160 -161
  42. package/dist/cjs/internal/channel/channelExecutor.js.map +1 -1
  43. package/dist/cjs/internal/core.js +4 -4
  44. package/dist/cjs/internal/core.js.map +1 -1
  45. package/dist/cjs/internal/fiberRuntime.js +14 -12
  46. package/dist/cjs/internal/fiberRuntime.js.map +1 -1
  47. package/dist/cjs/internal/logger.js +7 -6
  48. package/dist/cjs/internal/logger.js.map +1 -1
  49. package/dist/cjs/internal/redacted.js +4 -0
  50. package/dist/cjs/internal/redacted.js.map +1 -1
  51. package/dist/cjs/internal/schema/errors.js +116 -0
  52. package/dist/cjs/internal/schema/errors.js.map +1 -0
  53. package/dist/cjs/internal/schema/filters.js +41 -0
  54. package/dist/cjs/internal/schema/filters.js.map +1 -0
  55. package/dist/cjs/internal/schema/util.js +96 -0
  56. package/dist/cjs/internal/schema/util.js.map +1 -0
  57. package/dist/cjs/internal/stm/core.js +2 -3
  58. package/dist/cjs/internal/stm/core.js.map +1 -1
  59. package/dist/cjs/internal/stm/tPubSub.js.map +1 -1
  60. package/dist/cjs/internal/stm/tQueue.js +1 -2
  61. package/dist/cjs/internal/stm/tQueue.js.map +1 -1
  62. package/dist/cjs/internal/stm/tRef.js +6 -2
  63. package/dist/cjs/internal/stm/tRef.js.map +1 -1
  64. package/dist/cjs/internal/stm/tSubscriptionRef.js +178 -0
  65. package/dist/cjs/internal/stm/tSubscriptionRef.js.map +1 -0
  66. package/dist/cjs/internal/stream.js +36 -16
  67. package/dist/cjs/internal/stream.js.map +1 -1
  68. package/dist/cjs/internal/version.js +1 -1
  69. package/dist/cjs/internal/version.js.map +1 -1
  70. package/dist/dts/Arbitrary.d.ts +45 -0
  71. package/dist/dts/Arbitrary.d.ts.map +1 -0
  72. package/dist/dts/Effect.d.ts +298 -30
  73. package/dist/dts/Effect.d.ts.map +1 -1
  74. package/dist/dts/FastCheck.d.ts +9 -0
  75. package/dist/dts/FastCheck.d.ts.map +1 -0
  76. package/dist/dts/Inspectable.d.ts +28 -0
  77. package/dist/dts/Inspectable.d.ts.map +1 -1
  78. package/dist/dts/JSONSchema.d.ts +181 -0
  79. package/dist/dts/JSONSchema.d.ts.map +1 -0
  80. package/dist/dts/ParseResult.d.ts +551 -0
  81. package/dist/dts/ParseResult.d.ts.map +1 -0
  82. package/dist/dts/Predicate.d.ts.map +1 -1
  83. package/dist/dts/Pretty.d.ts +26 -0
  84. package/dist/dts/Pretty.d.ts.map +1 -0
  85. package/dist/dts/Schema.d.ts +4562 -0
  86. package/dist/dts/Schema.d.ts.map +1 -0
  87. package/dist/dts/SchemaAST.d.ts +1321 -0
  88. package/dist/dts/SchemaAST.d.ts.map +1 -0
  89. package/dist/dts/Stream.d.ts +67 -2
  90. package/dist/dts/Stream.d.ts.map +1 -1
  91. package/dist/dts/TPubSub.d.ts +8 -0
  92. package/dist/dts/TPubSub.d.ts.map +1 -1
  93. package/dist/dts/TQueue.d.ts +7 -7
  94. package/dist/dts/TQueue.d.ts.map +1 -1
  95. package/dist/dts/TRef.d.ts +2 -1
  96. package/dist/dts/TRef.d.ts.map +1 -1
  97. package/dist/dts/TSubscriptionRef.d.ts +251 -0
  98. package/dist/dts/TSubscriptionRef.d.ts.map +1 -0
  99. package/dist/dts/index.d.ts +32 -0
  100. package/dist/dts/index.d.ts.map +1 -1
  101. package/dist/dts/internal/fiberRuntime.d.ts.map +1 -1
  102. package/dist/dts/internal/schema/errors.d.ts +2 -0
  103. package/dist/dts/internal/schema/errors.d.ts.map +1 -0
  104. package/dist/dts/internal/schema/filters.d.ts +2 -0
  105. package/dist/dts/internal/schema/filters.d.ts.map +1 -0
  106. package/dist/dts/internal/schema/util.d.ts +2 -0
  107. package/dist/dts/internal/schema/util.d.ts.map +1 -0
  108. package/dist/dts/internal/stm/tRef.d.ts +3 -1
  109. package/dist/dts/internal/stm/tRef.d.ts.map +1 -1
  110. package/dist/dts/internal/stm/tSubscriptionRef.d.ts +2 -0
  111. package/dist/dts/internal/stm/tSubscriptionRef.d.ts.map +1 -0
  112. package/dist/dts/internal/stream.d.ts.map +1 -1
  113. package/dist/esm/Arbitrary.js +472 -0
  114. package/dist/esm/Arbitrary.js.map +1 -0
  115. package/dist/esm/Effect.js +256 -18
  116. package/dist/esm/Effect.js.map +1 -1
  117. package/dist/esm/FastCheck.js +9 -0
  118. package/dist/esm/FastCheck.js.map +1 -0
  119. package/dist/esm/Inspectable.js +39 -2
  120. package/dist/esm/Inspectable.js.map +1 -1
  121. package/dist/esm/JSONSchema.js +408 -0
  122. package/dist/esm/JSONSchema.js.map +1 -0
  123. package/dist/esm/ParseResult.js +1503 -0
  124. package/dist/esm/ParseResult.js.map +1 -0
  125. package/dist/esm/Predicate.js +2 -1
  126. package/dist/esm/Predicate.js.map +1 -1
  127. package/dist/esm/Pretty.js +173 -0
  128. package/dist/esm/Pretty.js.map +1 -0
  129. package/dist/esm/Schema.js +5328 -0
  130. package/dist/esm/Schema.js.map +1 -0
  131. package/dist/esm/SchemaAST.js +2300 -0
  132. package/dist/esm/SchemaAST.js.map +1 -0
  133. package/dist/esm/Stream.js +14 -0
  134. package/dist/esm/Stream.js.map +1 -1
  135. package/dist/esm/TPubSub.js +8 -0
  136. package/dist/esm/TPubSub.js.map +1 -1
  137. package/dist/esm/TQueue.js.map +1 -1
  138. package/dist/esm/TRef.js.map +1 -1
  139. package/dist/esm/TSubscriptionRef.js +87 -0
  140. package/dist/esm/TSubscriptionRef.js.map +1 -0
  141. package/dist/esm/index.js +32 -0
  142. package/dist/esm/index.js.map +1 -1
  143. package/dist/esm/internal/cause.js +3 -3
  144. package/dist/esm/internal/cause.js.map +1 -1
  145. package/dist/esm/internal/channel/channelExecutor.js +160 -161
  146. package/dist/esm/internal/channel/channelExecutor.js.map +1 -1
  147. package/dist/esm/internal/core.js +4 -4
  148. package/dist/esm/internal/core.js.map +1 -1
  149. package/dist/esm/internal/fiberRuntime.js +14 -12
  150. package/dist/esm/internal/fiberRuntime.js.map +1 -1
  151. package/dist/esm/internal/logger.js +7 -6
  152. package/dist/esm/internal/logger.js.map +1 -1
  153. package/dist/esm/internal/redacted.js +4 -0
  154. package/dist/esm/internal/redacted.js.map +1 -1
  155. package/dist/esm/internal/schema/errors.js +87 -0
  156. package/dist/esm/internal/schema/errors.js.map +1 -0
  157. package/dist/esm/internal/schema/filters.js +35 -0
  158. package/dist/esm/internal/schema/filters.js.map +1 -0
  159. package/dist/esm/internal/schema/util.js +78 -0
  160. package/dist/esm/internal/schema/util.js.map +1 -0
  161. package/dist/esm/internal/stm/core.js +1 -2
  162. package/dist/esm/internal/stm/core.js.map +1 -1
  163. package/dist/esm/internal/stm/tPubSub.js.map +1 -1
  164. package/dist/esm/internal/stm/tQueue.js +1 -2
  165. package/dist/esm/internal/stm/tQueue.js.map +1 -1
  166. package/dist/esm/internal/stm/tRef.js +5 -1
  167. package/dist/esm/internal/stm/tRef.js.map +1 -1
  168. package/dist/esm/internal/stm/tSubscriptionRef.js +166 -0
  169. package/dist/esm/internal/stm/tSubscriptionRef.js.map +1 -0
  170. package/dist/esm/internal/stream.js +33 -15
  171. package/dist/esm/internal/stream.js.map +1 -1
  172. package/dist/esm/internal/version.js +1 -1
  173. package/dist/esm/internal/version.js.map +1 -1
  174. package/package.json +68 -1
  175. package/src/Arbitrary.ts +563 -0
  176. package/src/Effect.ts +302 -31
  177. package/src/FastCheck.ts +9 -0
  178. package/src/Inspectable.ts +56 -2
  179. package/src/JSONSchema.ts +601 -0
  180. package/src/ParseResult.ts +2027 -0
  181. package/src/Predicate.ts +3 -1
  182. package/src/Pretty.ts +204 -0
  183. package/src/Schema.ts +10388 -0
  184. package/src/SchemaAST.ts +2827 -0
  185. package/src/Stream.ts +77 -9
  186. package/src/TPubSub.ts +9 -0
  187. package/src/TQueue.ts +7 -7
  188. package/src/TRef.ts +2 -1
  189. package/src/TSubscriptionRef.ts +284 -0
  190. package/src/index.ts +40 -0
  191. package/src/internal/cause.ts +3 -3
  192. package/src/internal/channel/channelExecutor.ts +213 -214
  193. package/src/internal/core-effect.ts +2 -2
  194. package/src/internal/core.ts +4 -4
  195. package/src/internal/fiberRuntime.ts +14 -12
  196. package/src/internal/logger.ts +7 -6
  197. package/src/internal/redacted.ts +4 -0
  198. package/src/internal/schema/errors.ts +189 -0
  199. package/src/internal/schema/filters.ts +86 -0
  200. package/src/internal/schema/util.ts +113 -0
  201. package/src/internal/stm/core.ts +1 -2
  202. package/src/internal/stm/tPubSub.ts +1 -0
  203. package/src/internal/stm/tQueue.ts +2 -2
  204. package/src/internal/stm/tRef.ts +7 -2
  205. package/src/internal/stm/tSubscriptionRef.ts +286 -0
  206. package/src/internal/stream.ts +97 -20
  207. package/src/internal/version.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Inspectable.js","names":["_Predicate","require","NodeInspectSymbol","exports","Symbol","for","toJSON","x","hasProperty","isFunction","length","Array","isArray","map","format","JSON","stringify","BaseProto","toString","Class","toStringUnknown","u","whitespace","stringifyCircular","String","_","obj","cache","retVal","_key","value","includes","undefined","push"],"sources":["../../src/Inspectable.ts"],"sourcesContent":[null],"mappings":";;;;;;AAIA,IAAAA,UAAA,GAAAC,OAAA;AAJA;;;;AAMA;;;;AAIO,MAAMC,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,gBAAGE,MAAM,CAACC,GAAG,CAAC,4BAA4B,CAAC;AAkBzE;;;AAGO,MAAMC,MAAM,GAAIC,CAAU,IAAa;EAC5C,IACE,IAAAC,sBAAW,EAACD,CAAC,EAAE,QAAQ,CAAC,IAAI,IAAAE,qBAAU,EAACF,CAAC,CAAC,QAAQ,CAAC,CAAC,IACnDA,CAAC,CAAC,QAAQ,CAAC,CAACG,MAAM,KAAK,CAAC,EACxB;IACA,OAAOH,CAAC,CAACD,MAAM,EAAE;EACnB,CAAC,MAAM,IAAIK,KAAK,CAACC,OAAO,CAACL,CAAC,CAAC,EAAE;IAC3B,OAAOA,CAAC,CAACM,GAAG,CAACP,MAAM,CAAC;EACtB;EACA,OAAOC,CAAC;AACV,CAAC;AAED;;;AAAAJ,OAAA,CAAAG,MAAA,GAAAA,MAAA;AAGO,MAAMQ,MAAM,GAAIP,CAAU,IAAaQ,IAAI,CAACC,SAAS,CAACT,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;AAExE;;;AAAAJ,OAAA,CAAAW,MAAA,GAAAA,MAAA;AAGO,MAAMG,SAAS,GAAAd,OAAA,CAAAc,SAAA,GAAgB;EACpCX,MAAMA,CAAA;IACJ,OAAOA,MAAM,CAAC,IAAI,CAAC;EACrB,CAAC;EACD,CAACJ,iBAAiB,IAAC;IACjB,OAAO,IAAI,CAACI,MAAM,EAAE;EACtB,CAAC;EACDY,QAAQA,CAAA;IACN,OAAOJ,MAAM,CAAC,IAAI,CAACR,MAAM,EAAE,CAAC;EAC9B;CACD;AAED;;;AAGM,MAAgBa,KAAK;EAKzB;;;EAGA,CAACjB,iBAAiB,IAAC;IACjB,OAAO,IAAI,CAACI,MAAM,EAAE;EACtB;EACA;;;EAGAY,QAAQA,CAAA;IACN,OAAOJ,MAAM,CAAC,IAAI,CAACR,MAAM,EAAE,CAAC;EAC9B;;AAGF;;;AAAAH,OAAA,CAAAgB,KAAA,GAAAA,KAAA;AAGO,MAAMC,eAAe,GAAGA,CAACC,CAAU,EAAEC,UAAA,GAA0C,CAAC,KAAY;EACjG,IAAI,OAAOD,CAAC,KAAK,QAAQ,EAAE;IACzB,OAAOA,CAAC;EACV;EACA,IAAI;IACF,OAAO,OAAOA,CAAC,KAAK,QAAQ,GAAGE,iBAAiB,CAACF,CAAC,EAAEC,UAAU,CAAC,GAAGE,MAAM,CAACH,CAAC,CAAC;EAC7E,CAAC,CAAC,OAAOI,CAAC,EAAE;IACV,OAAOD,MAAM,CAACH,CAAC,CAAC;EAClB;AACF,CAAC;AAED;;;AAAAlB,OAAA,CAAAiB,eAAA,GAAAA,eAAA;AAGO,MAAMG,iBAAiB,GAAGA,CAACG,GAAY,EAAEJ,UAAwC,KAAY;EAClG,IAAIK,KAAK,GAAmB,EAAE;EAC9B,MAAMC,MAAM,GAAGb,IAAI,CAACC,SAAS,CAC3BU,GAAG,EACH,CAACG,IAAI,EAAEC,KAAK,KACV,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,IAAI,GACvCH,KAAK,CAACI,QAAQ,CAACD,KAAK,CAAC,GACnBE,SAAS,CAAC;EAAA,EACVL,KAAK,CAACM,IAAI,CAACH,KAAK,CAAC,IAAIA,KAAK,GAC5BA,KAAK,EACXR,UAAU,CACX;EACCK,KAAa,GAAGK,SAAS;EAC3B,OAAOJ,MAAM;AACf,CAAC;AAAAzB,OAAA,CAAAoB,iBAAA,GAAAA,iBAAA","ignoreList":[]}
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":";;;;;;AAIA,IAAAA,OAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,uBAAA,CAAAC,OAAA;AACA,IAAAE,SAAA,GAAAH,uBAAA,CAAAC,OAAA;AACA,IAAAG,MAAA,GAAAJ,uBAAA,CAAAC,OAAA;AAEA,IAAAI,GAAA,GAAAL,uBAAA,CAAAC,OAAA;AAAqC,SAAAK,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAP,wBAAAO,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AATrC;;;;AA+MA;;;;AAIO,MAAMW,IAAI,GAAaC,MAA8B,IAAqB;EAC/E,MAAMC,KAAK,GAAwB,EAAE;EACrC,MAAMC,UAAU,GAAGC,EAAE,CAACH,MAAM,CAACI,GAAG,EAAEH,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC;EAClD,MAAMI,GAAG,GAAoB;IAC3BC,OAAO;IACP,GAAGJ;GACJ;EACD;EACA,KAAK,MAAMK,EAAE,IAAIN,KAAK,EAAE;IACtB,IAAIA,KAAK,CAACM,EAAE,CAAC,CAAC,MAAM,CAAC,KAAKC,OAAO,CAACD,EAAE,CAAC,EAAE;MACrC,OAAON,KAAK,CAACM,EAAE,CAAC;IAClB;EACF;EACA,IAAI,CAAC9B,MAAM,CAACgC,aAAa,CAACR,KAAK,CAAC,EAAE;IAChCI,GAAG,CAACJ,KAAK,GAAGA,KAAK;EACnB;EACA,OAAOI,GAAG;AACZ,CAAC;AAAAK,OAAA,CAAAX,IAAA,GAAAA,IAAA;AAED,MAAMY,aAAa,GAAgB;EAAEC,GAAG,EAAE;AAAc,CAAE;AAE1D,MAAMC,iBAAiB,GAAgB;EAAED,GAAG,EAAE;AAAkB,CAAE;AAElE,MAAME,cAAc,GAAgB;EAAEF,GAAG,EAAE;AAAe,CAAE;AAE5D,MAAMG,gBAAgB,GAAgB;EACpC,KAAK,EAAE,iBAAiB;EACxB,OAAO,EAAE,CACP;IAAE,MAAM,EAAE;EAAQ,CAAE,EACpB;IAAE,MAAM,EAAE;EAAO,CAAE;CAEtB;AAED,MAAMC,KAAK,GAAGA,CAAA,MAAoB;EAChC,KAAK,EAAE,aAAa;EACpB,OAAO,EAAE,CACP;IAAE,MAAM,EAAE;EAAQ,CAAE,EACpB;IAAE,MAAM,EAAE;EAAO,CAAE;CAEtB,CAAC;AAEF,MAAMV,OAAO,GAAG,yCAAyC;AAEzD,MAAMW,wBAAwB,GAAIC,SAAwB,IACxDzC,MAAM,CAAC0C,QAAQ,CAAC;EACdC,WAAW,EAAE1C,GAAG,CAAC2C,wBAAwB,CAACH,SAAS,CAAC;EACpDI,KAAK,EAAE5C,GAAG,CAAC6C,kBAAkB,CAACL,SAAS,CAAC;EACxCM,QAAQ,EAAE9C,GAAG,CAAC+C,qBAAqB,CAACP,SAAS,CAAC;EAC9CjC,OAAO,EAAEP,GAAG,CAACgD,oBAAoB,CAACR,SAAS;CAC5C,CAAC;AAEJ,MAAMS,kCAAkC,GAAGA,CACzCC,qBAA4C,EAC5CxB,GAAY,KACa;EACzB,IAAIwB,qBAAqB,CAAC,OAAO,CAAC,KAAKxB,GAAG,CAACyB,WAAW,CAACnD,GAAG,CAACoD,iBAAiB,CAAC,EAAE;IAC7E,OAAOF,qBAAqB,CAAC,OAAO,CAAC;EACvC;EACA,IAAIA,qBAAqB,CAAC,aAAa,CAAC,KAAKxB,GAAG,CAACyB,WAAW,CAACnD,GAAG,CAACqD,uBAAuB,CAAC,EAAE;IACzF,OAAOH,qBAAqB,CAAC,aAAa,CAAC;EAC7C;EACA,OAAOA,qBAAqB;AAC9B,CAAC;AAED,MAAMI,2BAA2B,GAAI5B,GAAY,IAA2B;EAC1E,MAAMwB,qBAAqB,GAAGX,wBAAwB,CAACb,GAAG,CAAC;EAC3D,QAAQA,GAAG,CAAC6B,IAAI;IACd,KAAK,eAAe;MAClB,OAAON,kCAAkC,CAACC,qBAAqB,EAAElD,GAAG,CAACwD,aAAa,CAAC;IACrF,KAAK,eAAe;MAClB,OAAOP,kCAAkC,CAACC,qBAAqB,EAAElD,GAAG,CAACyD,aAAa,CAAC;IACrF,KAAK,gBAAgB;MACnB,OAAOR,kCAAkC,CAACC,qBAAqB,EAAElD,GAAG,CAAC0D,cAAc,CAAC;IACtF;MACE,OAAOR,qBAAqB;EAChC;AACF,CAAC;AAED,MAAMS,qBAAqB,GAAIC,EAAyB,IAAyB;EAC/E,MAAMC,IAAI,GAAGD,EAAE,CAACC,IAAI;EACpB,IAAI7D,GAAG,CAAC8D,OAAO,CAACD,IAAI,CAAC,IAAIhE,MAAM,CAACkE,MAAM,CAAC/D,GAAG,CAACgE,uBAAuB,CAACH,IAAI,CAAC,CAAC,EAAE;IACzE,MAAMI,KAAK,GAAGJ,IAAI,CAACI,KAAK,CAACC,MAAM,CAAEL,IAAI,IAAK,CAAC7D,GAAG,CAACmE,kBAAkB,CAACN,IAAI,CAAC,CAAC;IACxE,IAAII,KAAK,CAACG,MAAM,GAAGP,IAAI,CAACI,KAAK,CAACG,MAAM,EAAE;MACpC,OAAOpE,GAAG,CAACqE,KAAK,CAAChD,IAAI,CAAC4C,KAAK,EAAEJ,IAAI,CAACV,WAAW,CAAC;IAChD;EACF;AACF,CAAC;AAED;AACO,MAAMmB,iBAAiB,GAAAtC,OAAA,CAAAsC,iBAAA,GAAG,UAAU;AAE3C,MAAMxC,OAAO,GAAID,EAAU,IAAa,GAAGyC,iBAAiB,GAAGzC,EAAE,EAAE;AAEnE,MAAM0C,gCAAgC,GAAI7C,GAAmB,IAAyB;EACpF,QAAQA,GAAG,CAAC8C,IAAI,CAACjB,IAAI;IACnB,KAAK,gBAAgB;MACnB,OAAO7B,GAAG,CAAC8C,IAAI;IACjB,KAAK,YAAY;MACf,OAAOD,gCAAgC,CAAC7C,GAAG,CAAC8C,IAAI,CAAC;IACnD,KAAK,SAAS;MAAE;QACd,MAAMA,IAAI,GAAG9C,GAAG,CAAC8C,IAAI,CAACC,CAAC,EAAE;QACzB,IAAIzE,GAAG,CAAC0E,YAAY,CAACF,IAAI,CAAC,EAAE;UAC1B,OAAOD,gCAAgC,CAACC,IAAI,CAAC;QAC/C;MACF;EACF;AACF,CAAC;AAED,MAAMG,yBAAyB,GAAIjD,GAAY,IAC7CA,GAAG,CAACyB,WAAW,CAACnD,GAAG,CAAC4E,oBAAoB,CAAC,KAAK5E,GAAG,CAAC6E,iBAAiB;AAKrE,SAASC,KAAKA,CAAClE,CAAS,EAAEmE,CAAS;EACjC,OAAO;IAAE,GAAGnE,CAAC;IAAE,GAAGmE;EAAC,CAAE;AACvB;AAEA,MAAMC,oBAAoB,GAAIxD,UAAuB,IAAa;EAChE,OAAQ,MAAM,IAAIA,UAAU,IAAM,OAAO,IAAIA,UAAW,IAAK,OAAO,IAAIA,UAAW,IAAK,OAAO,IAAIA,UAAW,IAC3G,MAAM,IAAIA,UAAW,IAAK,MAAM,IAAIA,UAAW;AACpD,CAAC;AAED,MAAMC,EAAE,GAAGA,CACTC,GAAY,EACZH,KAAkC,EAClC0D,gBAAyB,EACzBC,IAAgC,KACjB;EACf,MAAMC,IAAI,GAAGnF,GAAG,CAACgE,uBAAuB,CAACtC,GAAG,CAAC;EAC7C,IAAI7B,MAAM,CAACuF,MAAM,CAACD,IAAI,CAAC,EAAE;IACvB,MAAME,OAAO,GAAGF,IAAI,CAACG,KAAoB;IACzC,IAAItF,GAAG,CAAC0E,YAAY,CAAChD,GAAG,CAAC,EAAE;MACzB,MAAMrB,CAAC,GAAGkE,gCAAgC,CAAC7C,GAAG,CAAC;MAC/C,IAAIrB,CAAC,KAAKkF,SAAS,EAAE;QACnB,IAAI;UACF,OAAO;YACL,GAAG9D,EAAE,CAACC,GAAG,CAAC8C,IAAI,EAAEjD,KAAK,EAAE,IAAI,EAAE2D,IAAI,CAAC;YAClC,GAAG3C,wBAAwB,CAACb,GAAG,CAAC;YAChC,GAAG2D;WACJ;QACH,CAAC,CAAC,OAAOnF,CAAC,EAAE;UACV,OAAO;YACL,GAAGqC,wBAAwB,CAACb,GAAG,CAAC;YAChC,GAAG2D;WACJ;QACH;MACF,CAAC,MAAM,IAAI,CAACL,oBAAoB,CAACK,OAAO,CAAC,EAAE;QACzC,OAAO5D,EAAE,CAACpB,CAAC,EAAEkB,KAAK,EAAE,IAAI,EAAE2D,IAAI,CAAC;MACjC;IACF;IACA,OAAOG,OAAO;EAChB;EACA,MAAMG,SAAS,GAAGxF,GAAG,CAACyF,sBAAsB,CAAC/D,GAAG,CAAC;EACjD,IAAI7B,MAAM,CAACuF,MAAM,CAACI,SAAS,CAAC,EAAE;IAC5B,OAAO/D,EAAE,CAAC+D,SAAS,CAACF,KAAK,EAAE/D,KAAK,EAAE0D,gBAAgB,EAAEC,IAAI,CAAC;EAC3D;EACA,IAAID,gBAAgB,IAAI,CAACjF,GAAG,CAAC0F,gBAAgB,CAAChE,GAAG,CAAC,IAAI,CAAC1B,GAAG,CAAC0E,YAAY,CAAChD,GAAG,CAAC,EAAE;IAC5E,MAAMiE,UAAU,GAAG3F,GAAG,CAAC4F,iBAAiB,CAAClE,GAAG,CAAC;IAC7C,IAAI7B,MAAM,CAACuF,MAAM,CAACO,UAAU,CAAC,EAAE;MAC7B,MAAM9D,EAAE,GAAG8D,UAAU,CAACL,KAAK;MAC3B,MAAM3D,GAAG,GAAG;QAAEkE,IAAI,EAAE/D,OAAO,CAACD,EAAE;MAAC,CAAE;MACjC,IAAI,CAAC9B,MAAM,CAACS,GAAG,CAACe,KAAK,EAAEM,EAAE,CAAC,EAAE;QAC1BN,KAAK,CAACM,EAAE,CAAC,GAAGF,GAAG;QACfJ,KAAK,CAACM,EAAE,CAAC,GAAGJ,EAAE,CAACC,GAAG,EAAEH,KAAK,EAAE,KAAK,EAAE2D,IAAI,CAAC;MACzC;MACA,OAAOvD,GAAG;IACZ;EACF;EACA,QAAQD,GAAG,CAAC6B,IAAI;IACd,KAAK,aAAa;MAChB,MAAM,IAAIuC,KAAK,CAACpG,OAAO,CAACqG,0CAA0C,CAACb,IAAI,EAAExD,GAAG,CAAC,CAAC;IAChF,KAAK,SAAS;MAAE;QACd,MAAMsE,OAAO,GAAGtE,GAAG,CAACsE,OAAO;QAC3B,IAAIA,OAAO,KAAK,IAAI,EAAE;UACpB,OAAOlB,KAAK,CAAC;YAAEmB,IAAI,EAAE,CAAC,IAAI;UAAC,CAAE,EAAE1D,wBAAwB,CAACb,GAAG,CAAC,CAAC;QAC/D,CAAC,MAAM,IAAI5B,SAAS,CAACoG,QAAQ,CAACF,OAAO,CAAC,IAAIlG,SAAS,CAACqG,QAAQ,CAACH,OAAO,CAAC,IAAIlG,SAAS,CAACsG,SAAS,CAACJ,OAAO,CAAC,EAAE;UACrG,OAAOlB,KAAK,CAAC;YAAEmB,IAAI,EAAE,CAACD,OAAO;UAAC,CAAE,EAAEzD,wBAAwB,CAACb,GAAG,CAAC,CAAC;QAClE;QACA,MAAM,IAAIoE,KAAK,CAACpG,OAAO,CAACqG,0CAA0C,CAACb,IAAI,EAAExD,GAAG,CAAC,CAAC;MAChF;IACA,KAAK,cAAc;MACjB,MAAM,IAAIoE,KAAK,CAACpG,OAAO,CAACqG,0CAA0C,CAACb,IAAI,EAAExD,GAAG,CAAC,CAAC;IAChF,KAAK,kBAAkB;MACrB,MAAM,IAAIoE,KAAK,CAACpG,OAAO,CAACqG,0CAA0C,CAACb,IAAI,EAAExD,GAAG,CAAC,CAAC;IAChF,KAAK,aAAa;MAChB,OAAOoD,KAAK,CAAC1C,cAAc,EAAEG,wBAAwB,CAACb,GAAG,CAAC,CAAC;IAC7D,KAAK,cAAc;MACjB,MAAM,IAAIoE,KAAK,CAACpG,OAAO,CAACqG,0CAA0C,CAACb,IAAI,EAAExD,GAAG,CAAC,CAAC;IAChF,KAAK,gBAAgB;MACnB,OAAOoD,KAAK,CAAC3C,iBAAiB,EAAEI,wBAAwB,CAACb,GAAG,CAAC,CAAC;IAChE,KAAK,YAAY;MACf,OAAOoD,KAAK,CAAC7C,aAAa,EAAEM,wBAAwB,CAACb,GAAG,CAAC,CAAC;IAC5D,KAAK,eAAe;MAClB,OAAOoD,KAAK,CAACzC,gBAAgB,EAAEE,wBAAwB,CAACb,GAAG,CAAC,CAAC;IAC/D,KAAK,eAAe;MAClB,OAAO;QAAEmC,IAAI,EAAE,QAAQ;QAAE,GAAGP,2BAA2B,CAAC5B,GAAG;MAAC,CAAE;IAChE,KAAK,eAAe;MAClB,OAAO;QAAEmC,IAAI,EAAE,QAAQ;QAAE,GAAGP,2BAA2B,CAAC5B,GAAG;MAAC,CAAE;IAChE,KAAK,gBAAgB;MACnB,OAAO;QAAEmC,IAAI,EAAE,SAAS;QAAE,GAAGP,2BAA2B,CAAC5B,GAAG;MAAC,CAAE;IACjE,KAAK,eAAe;MAClB,MAAM,IAAIoE,KAAK,CAACpG,OAAO,CAACqG,0CAA0C,CAACb,IAAI,EAAExD,GAAG,CAAC,CAAC;IAChF,KAAK,eAAe;MAClB,MAAM,IAAIoE,KAAK,CAACpG,OAAO,CAACqG,0CAA0C,CAACb,IAAI,EAAExD,GAAG,CAAC,CAAC;IAChF,KAAK,WAAW;MAAE;QAChB,MAAM2E,QAAQ,GAAG3E,GAAG,CAAC2E,QAAQ,CAACC,GAAG,CAAC,CAACpG,CAAC,EAAEiB,CAAC,KACrC2D,KAAK,CACHrD,EAAE,CAACvB,CAAC,CAAC2D,IAAI,EAAEtC,KAAK,EAAE,IAAI,EAAE2D,IAAI,CAACqB,MAAM,CAACpF,CAAC,CAAC,CAAC,EACvCoB,wBAAwB,CAACrC,CAAC,CAAC,CAC5B,CACF;QACD,MAAMsG,IAAI,GAAG9E,GAAG,CAAC8E,IAAI,CAACF,GAAG,CAAEG,YAAY,IACrC3B,KAAK,CACHrD,EAAE,CAACgF,YAAY,CAAC5C,IAAI,EAAEtC,KAAK,EAAE,IAAI,EAAE2D,IAAI,CAAC,EACxC3C,wBAAwB,CAACkE,YAAY,CAAC,CACvC,CACF;QACD,MAAMC,MAAM,GAAqB;UAAE7C,IAAI,EAAE;QAAO,CAAE;QAClD;QACA;QACA;QACA,MAAM8C,GAAG,GAAGjF,GAAG,CAAC2E,QAAQ,CAACjC,MAAM;QAC/B,IAAIuC,GAAG,GAAG,CAAC,EAAE;UACXD,MAAM,CAACE,QAAQ,GAAGD,GAAG,GAAGjF,GAAG,CAAC2E,QAAQ,CAACnC,MAAM,CAAE2C,OAAO,IAAKA,OAAO,CAACC,UAAU,CAAC,CAAC1C,MAAM;UACnFsC,MAAM,CAACK,KAAK,GAAGV,QAAQ;QACzB;QACA;QACA;QACA;QACA,MAAMW,UAAU,GAAGR,IAAI,CAACpC,MAAM;QAC9B,IAAI4C,UAAU,GAAG,CAAC,EAAE;UAClB,MAAMC,IAAI,GAAGT,IAAI,CAAC,CAAC,CAAC;UACpB,MAAMU,aAAa,GAAGF,UAAU,KAAK,CAAC,IAAItF,GAAG,CAAC2E,QAAQ,CAACc,KAAK,CAAEjH,CAAC,IAAKA,CAAC,CAAC2D,IAAI,KAAKnC,GAAG,CAAC8E,IAAI,CAAC,CAAC,CAAC,CAAC3C,IAAI,CAAC;UAChG,IAAIqD,aAAa,EAAE;YACjBR,MAAM,CAACK,KAAK,GAAGE,IAAI;UACrB,CAAC,MAAM;YACLP,MAAM,CAACU,eAAe,GAAGH,IAAI;UAC/B;UAEA;UACA;UACA;UACA,IAAID,UAAU,GAAG,CAAC,EAAE;YAClB,MAAM,IAAIlB,KAAK,CAACpG,OAAO,CAAC2H,oDAAoD,CAACnC,IAAI,CAAC,CAAC;UACrF;QACF,CAAC,MAAM;UACL,IAAIyB,GAAG,GAAG,CAAC,EAAE;YACXD,MAAM,CAACU,eAAe,GAAG,KAAK;UAChC,CAAC,MAAM;YACLV,MAAM,CAACY,QAAQ,GAAG,CAAC;UACrB;QACF;QAEA,OAAOxC,KAAK,CAAC4B,MAAM,EAAEnE,wBAAwB,CAACb,GAAG,CAAC,CAAC;MACrD;IACA,KAAK,aAAa;MAAE;QAClB,IAAIA,GAAG,CAAC6F,kBAAkB,CAACnD,MAAM,KAAK,CAAC,IAAI1C,GAAG,CAAC8F,eAAe,CAACpD,MAAM,KAAK,CAAC,EAAE;UAC3E,OAAOU,KAAK,CAACxC,KAAK,EAAE,EAAEC,wBAAwB,CAACb,GAAG,CAAC,CAAC;QACtD;QACA,IAAI+F,iBAAiB,GAA4BlC,SAAS;QAC1D,IAAImC,aAAa,GAA4BnC,SAAS;QACtD,KAAK,MAAMoC,EAAE,IAAIjG,GAAG,CAAC8F,eAAe,EAAE;UACpC,MAAMI,SAAS,GAAGD,EAAE,CAACC,SAAS;UAC9B,QAAQA,SAAS,CAACrE,IAAI;YACpB,KAAK,eAAe;cAAE;gBACpBkE,iBAAiB,GAAGhG,EAAE,CAACkG,EAAE,CAAC9D,IAAI,EAAEtC,KAAK,EAAE,IAAI,EAAE2D,IAAI,CAAC;gBAClD;cACF;YACA,KAAK,iBAAiB;cAAE;gBACtBuC,iBAAiB,GAAGhG,EAAE,CAACkG,EAAE,CAAC9D,IAAI,EAAEtC,KAAK,EAAE,IAAI,EAAE2D,IAAI,CAAC;gBAClDwC,aAAa,GAAG;kBACd7D,IAAI,EAAE,QAAQ;kBACdgE,OAAO,EAAE7H,GAAG,CAAC8H,wBAAwB,CAACF,SAAS,CAAC,CAACG;iBAClD;gBACD;cACF;YACA,KAAK,YAAY;cAAE;gBACjBN,iBAAiB,GAAGhG,EAAE,CAACkG,EAAE,CAAC9D,IAAI,EAAEtC,KAAK,EAAE,IAAI,EAAE2D,IAAI,CAAC;gBAClDwC,aAAa,GAAGjG,EAAE,CAACmG,SAAS,EAAErG,KAAK,EAAE,IAAI,EAAE2D,IAAI,CAAC;gBAChD;cACF;YACA,KAAK,eAAe;cAClB,MAAM,IAAIY,KAAK,CAACpG,OAAO,CAACsI,6CAA6C,CAAC9C,IAAI,EAAE0C,SAAS,CAAC,CAAC;UAC3F;QACF;QACA,MAAMlB,MAAM,GAAsB;UAChC7C,IAAI,EAAE,QAAQ;UACdoE,QAAQ,EAAE,EAAE;UACZC,UAAU,EAAE,EAAE;UACdC,oBAAoB,EAAE;SACvB;QACD;QACA;QACA;QACA,KAAK,IAAIhH,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGO,GAAG,CAAC6F,kBAAkB,CAACnD,MAAM,EAAEjD,CAAC,EAAE,EAAE;UACtD,MAAMyC,EAAE,GAAGlC,GAAG,CAAC6F,kBAAkB,CAACpG,CAAC,CAAC;UACpC,MAAMiH,IAAI,GAAGxE,EAAE,CAACwE,IAAI;UACpB,IAAItI,SAAS,CAACoG,QAAQ,CAACkC,IAAI,CAAC,EAAE;YAC5B,MAAMC,MAAM,GAAG1E,qBAAqB,CAACC,EAAE,CAAC;YACxC8C,MAAM,CAACwB,UAAU,CAACE,IAAI,CAAC,GAAGtD,KAAK,CAC7BrD,EAAE,CAAC4G,MAAM,GAAGA,MAAM,GAAGzE,EAAE,CAACC,IAAI,EAAEtC,KAAK,EAAE,IAAI,EAAE2D,IAAI,CAACqB,MAAM,CAAC3C,EAAE,CAACwE,IAAI,CAAC,CAAC,EAChE7F,wBAAwB,CAACqB,EAAE,CAAC,CAC7B;YACD;YACA;YACA;YACA,IAAI,CAACA,EAAE,CAACkD,UAAU,IAAIuB,MAAM,KAAK9C,SAAS,EAAE;cAC1CmB,MAAM,CAACuB,QAAQ,CAACK,IAAI,CAACF,IAAI,CAAC;YAC5B;UACF,CAAC,MAAM;YACL,MAAM,IAAItC,KAAK,CAACpG,OAAO,CAAC6I,uCAAuC,CAACH,IAAI,EAAElD,IAAI,CAAC,CAAC;UAC9E;QACF;QACA;QACA;QACA;QACA,IAAIuC,iBAAiB,KAAKlC,SAAS,EAAE;UACnC,OAAOmB,MAAM,CAACyB,oBAAoB;UAClCzB,MAAM,CAACe,iBAAiB,GAAG;YAAE,EAAE,EAAEA;UAAiB,CAAE;QACtD;QACA,IAAIC,aAAa,KAAKnC,SAAS,EAAE;UAC/BmB,MAAM,CAACgB,aAAa,GAAGA,aAAa;QACtC;QAEA,OAAO5C,KAAK,CAAC4B,MAAM,EAAEnE,wBAAwB,CAACb,GAAG,CAAC,CAAC;MACrD;IACA,KAAK,OAAO;MAAE;QACZ,MAAM8G,KAAK,GAA4B,EAAE;QACzC,MAAMC,KAAK,GAAuB,EAAE;QACpC,KAAK,MAAM5E,IAAI,IAAInC,GAAG,CAACuC,KAAK,EAAE;UAC5B,MAAM3C,MAAM,GAAGG,EAAE,CAACoC,IAAI,EAAEtC,KAAK,EAAE,IAAI,EAAE2D,IAAI,CAAC;UAC1C,IAAI,MAAM,IAAI5D,MAAM,EAAE;YACpB,IAAIT,MAAM,CAAC6H,IAAI,CAACpH,MAAM,CAAC,CAAC8C,MAAM,GAAG,CAAC,EAAE;cAClCqE,KAAK,CAACH,IAAI,CAAChH,MAAM,CAAC;YACpB,CAAC,MAAM;cACL,KAAK,MAAMpB,CAAC,IAAIoB,MAAM,CAAC2E,IAAI,EAAE;gBAC3BuC,KAAK,CAACF,IAAI,CAACpI,CAAC,CAAC;cACf;YACF;UACF,CAAC,MAAM;YACLuI,KAAK,CAACH,IAAI,CAAChH,MAAM,CAAC;UACpB;QACF;QACA,IAAImH,KAAK,CAACrE,MAAM,KAAK,CAAC,EAAE;UACtB,OAAOU,KAAK,CAAC;YAAEmB,IAAI,EAAEuC;UAAK,CAAE,EAAEjG,wBAAwB,CAACb,GAAG,CAAC,CAAC;QAC9D,CAAC,MAAM;UACL,IAAI8G,KAAK,CAACpE,MAAM,IAAI,CAAC,EAAE;YACrBqE,KAAK,CAACH,IAAI,CAAC;cAAErC,IAAI,EAAEuC;YAAK,CAAE,CAAC;UAC7B;UACA,OAAO1D,KAAK,CAAC;YAAE2D;UAAK,CAAE,EAAElG,wBAAwB,CAACb,GAAG,CAAC,CAAC;QACxD;MACF;IACA,KAAK,OAAO;MAAE;QACZ,OAAOoD,KAAK,CAAC;UACX6D,QAAQ,EAAE,gBAAgB;UAC1BF,KAAK,EAAE/G,GAAG,CAAC8G,KAAK,CAAClC,GAAG,CAAEpG,CAAC,KAAM;YAAE0C,KAAK,EAAE1C,CAAC,CAAC,CAAC,CAAC;YAAE+F,IAAI,EAAE,CAAC/F,CAAC,CAAC,CAAC,CAAC;UAAC,CAAE,CAAC;SAC5D,EAAEqC,wBAAwB,CAACb,GAAG,CAAC,CAAC;MACnC;IACA,KAAK,YAAY;MAAE;QACjB,IAAI1B,GAAG,CAAC4I,eAAe,CAAClH,GAAG,CAAC,KAAKA,GAAG,EAAE;UACpC,MAAM,IAAIoE,KAAK,CAACpG,OAAO,CAACqG,0CAA0C,CAACb,IAAI,EAAExD,GAAG,CAAC,CAAC;QAChF;QACA,OAAOD,EAAE,CAACC,GAAG,CAAC8C,IAAI,EAAEjD,KAAK,EAAE,IAAI,EAAE2D,IAAI,CAAC;MACxC;IACA,KAAK,iBAAiB;MAAE;QACtB,MAAM2D,KAAK,GAAG7I,GAAG,CAAC8H,wBAAwB,CAACpG,GAAG,CAAC;QAC/C,OAAOoD,KAAK,CAAC;UACXjB,IAAI,EAAE,QAAQ;UACdnB,WAAW,EAAE,oBAAoB;UACjCmF,OAAO,EAAEgB,KAAK,CAACd;SAChB,EAAExF,wBAAwB,CAACb,GAAG,CAAC,CAAC;MACnC;IACA,KAAK,SAAS;MAAE;QACd,MAAMiE,UAAU,GAAG9F,MAAM,CAACiJ,MAAM,CAAC9I,GAAG,CAAC4F,iBAAiB,CAAClE,GAAG,CAAC,EAAE,MAAM1B,GAAG,CAAC4F,iBAAiB,CAAClE,GAAG,CAAC+C,CAAC,EAAE,CAAC,CAAC;QAClG,IAAI5E,MAAM,CAACkE,MAAM,CAAC4B,UAAU,CAAC,EAAE;UAC7B,MAAM,IAAIG,KAAK,CAACpG,OAAO,CAACqJ,oDAAoD,CAAC7D,IAAI,EAAExD,GAAG,CAAC,CAAC;QAC1F;QACA,OAAOD,EAAE,CAACC,GAAG,CAAC+C,CAAC,EAAE,EAAElD,KAAK,EAAE,IAAI,EAAE2D,IAAI,CAAC;MACvC;IACA,KAAK,gBAAgB;MAAE;QACrB;QACA;QACA;QACA;QACA,MAAM8D,IAAI,GAAGrE,yBAAyB,CAACjD,GAAG,CAAC8C,IAAI,CAAC,GAAG9C,GAAG,CAACuH,EAAE,GAAGvH,GAAG,CAAC8C,IAAI;QACpE,OAAO/C,EAAE,CAACuH,IAAI,EAAEzH,KAAK,EAAE,IAAI,EAAE2D,IAAI,CAAC;MACpC;EACF;AACF,CAAC","ignoreList":[]}