@fncts/schema 0.0.23 → 0.0.25
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/AST.d.ts +60 -29
- package/ASTAnnotationMap.d.ts +4 -1
- package/LICENSE +26 -0
- package/ParseError/ParseError.d.ts +28 -13
- package/_cjs/AST.cjs +1096 -1087
- package/_cjs/AST.cjs.map +1 -1
- package/_cjs/ASTAnnotation.cjs +114 -83
- package/_cjs/ASTAnnotation.cjs.map +1 -1
- package/_cjs/ASTAnnotationMap.cjs +43 -32
- package/_cjs/ASTAnnotationMap.cjs.map +1 -1
- package/_cjs/Eq.cjs +113 -145
- package/_cjs/Eq.cjs.map +1 -1
- package/_cjs/Gen.cjs +131 -167
- package/_cjs/Gen.cjs.map +1 -1
- package/_cjs/Guard.cjs +167 -267
- package/_cjs/Guard.cjs.map +1 -1
- package/_cjs/InvalidInterpretationError.cjs +9 -15
- package/_cjs/InvalidInterpretationError.cjs.map +1 -1
- package/_cjs/ParseError/ParseError.cjs +285 -209
- package/_cjs/ParseError/ParseError.cjs.map +1 -1
- package/_cjs/ParseError/ParseErrorFormatter.cjs +0 -2
- package/_cjs/ParseError/PathFormatter.cjs +55 -87
- package/_cjs/ParseError/PathFormatter.cjs.map +1 -1
- package/_cjs/ParseError/TreeFormatter.cjs +70 -102
- package/_cjs/ParseError/TreeFormatter.cjs.map +1 -1
- package/_cjs/ParseError.cjs +35 -50
- package/_cjs/ParseResult.cjs +15 -15
- package/_cjs/ParseResult.cjs.map +1 -1
- package/_cjs/Parser/api.cjs +54 -50
- package/_cjs/Parser/api.cjs.map +1 -1
- package/_cjs/Parser/definition.cjs +17 -16
- package/_cjs/Parser/definition.cjs.map +1 -1
- package/_cjs/Parser/interpreter.cjs +276 -358
- package/_cjs/Parser/interpreter.cjs.map +1 -1
- package/_cjs/Parser.cjs +12 -39
- package/_cjs/Schema/api/conc.cjs +64 -59
- package/_cjs/Schema/api/conc.cjs.map +1 -1
- package/_cjs/Schema/api/either.cjs +73 -72
- package/_cjs/Schema/api/either.cjs.map +1 -1
- package/_cjs/Schema/api/hashMap.cjs +85 -85
- package/_cjs/Schema/api/hashMap.cjs.map +1 -1
- package/_cjs/Schema/api/hashSet.cjs +75 -69
- package/_cjs/Schema/api/hashSet.cjs.map +1 -1
- package/_cjs/Schema/api/list.cjs +74 -64
- package/_cjs/Schema/api/list.cjs.map +1 -1
- package/_cjs/Schema/api/map.cjs +81 -83
- package/_cjs/Schema/api/map.cjs.map +1 -1
- package/_cjs/Schema/api/maybe.cjs +56 -49
- package/_cjs/Schema/api/maybe.cjs.map +1 -1
- package/_cjs/Schema/api/set.cjs +68 -61
- package/_cjs/Schema/api/set.cjs.map +1 -1
- package/_cjs/Schema/api.cjs +332 -350
- package/_cjs/Schema/api.cjs.map +1 -1
- package/_cjs/Schema/definition.cjs +28 -27
- package/_cjs/Schema/definition.cjs.map +1 -1
- package/_cjs/Schema/derivations.cjs +85 -100
- package/_cjs/Schema/derivations.cjs.map +1 -1
- package/_cjs/Schema.cjs +95 -127
- package/_cjs/Show.cjs +91 -151
- package/_cjs/Show.cjs.map +1 -1
- package/_cjs/chunk.cjs +28 -0
- package/_cjs/global.cjs +0 -2
- package/_cjs/index.cjs +0 -2
- package/_cjs/utils.cjs +41 -46
- package/_cjs/utils.cjs.map +1 -1
- package/_mjs/AST.mjs +1007 -1031
- package/_mjs/AST.mjs.map +1 -1
- package/_mjs/ASTAnnotation.mjs +77 -71
- package/_mjs/ASTAnnotation.mjs.map +1 -1
- package/_mjs/ASTAnnotationMap.mjs +36 -25
- package/_mjs/ASTAnnotationMap.mjs.map +1 -1
- package/_mjs/Eq.mjs +101 -134
- package/_mjs/Eq.mjs.map +1 -1
- package/_mjs/Gen.mjs +117 -157
- package/_mjs/Gen.mjs.map +1 -1
- package/_mjs/Guard.mjs +154 -257
- package/_mjs/Guard.mjs.map +1 -1
- package/_mjs/InvalidInterpretationError.mjs +8 -9
- package/_mjs/InvalidInterpretationError.mjs.map +1 -1
- package/_mjs/ParseError/ParseError.mjs +270 -190
- package/_mjs/ParseError/ParseError.mjs.map +1 -1
- package/_mjs/ParseError/ParseErrorFormatter.mjs +0 -2
- package/_mjs/ParseError/PathFormatter.mjs +51 -80
- package/_mjs/ParseError/PathFormatter.mjs.map +1 -1
- package/_mjs/ParseError/TreeFormatter.mjs +62 -94
- package/_mjs/ParseError/TreeFormatter.mjs.map +1 -1
- package/_mjs/ParseError.mjs +5 -6
- package/_mjs/ParseResult.mjs +13 -9
- package/_mjs/ParseResult.mjs.map +1 -1
- package/_mjs/Parser/api.mjs +43 -39
- package/_mjs/Parser/api.mjs.map +1 -1
- package/_mjs/Parser/definition.mjs +12 -8
- package/_mjs/Parser/definition.mjs.map +1 -1
- package/_mjs/Parser/interpreter.mjs +262 -348
- package/_mjs/Parser/interpreter.mjs.map +1 -1
- package/_mjs/Parser.mjs +4 -5
- package/_mjs/Schema/api/conc.mjs +41 -45
- package/_mjs/Schema/api/conc.mjs.map +1 -1
- package/_mjs/Schema/api/either.mjs +55 -61
- package/_mjs/Schema/api/either.mjs.map +1 -1
- package/_mjs/Schema/api/hashMap.mjs +61 -71
- package/_mjs/Schema/api/hashMap.mjs.map +1 -1
- package/_mjs/Schema/api/hashSet.mjs +53 -56
- package/_mjs/Schema/api/hashSet.mjs.map +1 -1
- package/_mjs/Schema/api/list.mjs +50 -51
- package/_mjs/Schema/api/list.mjs.map +1 -1
- package/_mjs/Schema/api/map.mjs +59 -69
- package/_mjs/Schema/api/map.mjs.map +1 -1
- package/_mjs/Schema/api/maybe.mjs +34 -36
- package/_mjs/Schema/api/maybe.mjs.map +1 -1
- package/_mjs/Schema/api/set.mjs +47 -48
- package/_mjs/Schema/api/set.mjs.map +1 -1
- package/_mjs/Schema/api.mjs +304 -346
- package/_mjs/Schema/api.mjs.map +1 -1
- package/_mjs/Schema/definition.mjs +21 -18
- package/_mjs/Schema/definition.mjs.map +1 -1
- package/_mjs/Schema/derivations.mjs +71 -90
- package/_mjs/Schema/derivations.mjs.map +1 -1
- package/_mjs/Schema.mjs +12 -15
- package/_mjs/Show.mjs +79 -139
- package/_mjs/Show.mjs.map +1 -1
- package/_mjs/global.mjs +0 -2
- package/_mjs/index.mjs +0 -2
- package/_mjs/utils.mjs +35 -37
- package/_mjs/utils.mjs.map +1 -1
- package/_src/AST.ts +226 -28
- package/_src/ASTAnnotationMap.ts +14 -1
- package/_src/ParseError/ParseError.ts +128 -13
- package/_src/Schema/api/hashMap.ts +1 -1
- package/_src/Schema/api/hashSet.ts +1 -1
- package/_src/Schema/api/list.ts +3 -1
- package/_src/Schema/api/map.ts +1 -1
- package/_src/Schema/api/set.ts +1 -1
- package/package.json +7 -3
- package/_cjs/ParseError/ParseErrorFormatter.cjs.map +0 -1
- package/_cjs/ParseError.cjs.map +0 -1
- package/_cjs/Parser.cjs.map +0 -1
- package/_cjs/Schema.cjs.map +0 -1
- package/_cjs/global.cjs.map +0 -1
- package/_cjs/index.cjs.map +0 -1
- package/_mjs/ParseError/ParseErrorFormatter.mjs.map +0 -1
- package/_mjs/ParseError.mjs.map +0 -1
- package/_mjs/Parser.mjs.map +0 -1
- package/_mjs/Schema.mjs.map +0 -1
- package/_mjs/global.mjs.map +0 -1
- package/_mjs/index.mjs.map +0 -1
package/_mjs/Gen.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Gen.mjs","names":["InvalidInterpretationError","memoize","genFrom","self","go","tsplus_module_1","getFrom","ast","genTo","getHook","annotations","get","tsplus_module_2","GenHook","record","key","value","tsplus_module_3","map","tuples","out","k","v","arrayWith","maxLength","tuple","_tag","tsplus_module_6","match","fromIO","tsplus_module_4","haltNow","fileName_1","hook","tsplus_module_5","typeParameters","constant","literal","symbol","undefined","anything","fullUnicodeString","float","boolean","bigInt","s","Symbol","for","components","head","span","spans","push","join","elements","e","type","rest","tsplus_module_7","restElement","output","length","tsplus_module_8","isNothing","firstOptionalIndex","findIndex","isOptional","flatMap","as","i","slice","intWith","min","max","isJust","unsafeHead","tail","j","a","unsafeGet","propertySignatureTypes","ps","propertySignatures","indexSignatures","is","parameter","requiredGens","optionalGens","name","zipWith","partial","b","struct","o","d","types","oneOf","f","getAST","defer","handler","enums","_","from","filter","tsplus_module_9","isRight","decode","to","every","validate","validation"],"sources":["../_src/Gen.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;AAKA,SAASA,0BAA0B,QAAQ,0CAA0C;AACrF,SAASC,OAAO,QAAQ,qBAAqB;AAE7C;;;AAGA,OAAM,SAAUC,OAAOA,CAAIC,IAAe;EACxC,OAAOC,EAAE,CAAAC,eAAA,CAAAC,OAAA,CAACH,IAAI,CAACI,GAAG,EAAS;AAC7B;AAEA;;;AAGA,OAAM,SAAUC,KAAKA,CAAIL,IAAe;EACtC,OAAOC,EAAE,CAACD,IAAI,CAACI,GAAG,CAAC;AACrB;AAEA,SAASE,OAAOA,CAACF,GAAQ;EACvB,OAAOA,GAAG,CAACG,WAAW,CAACC,GAAG,CAAAC,eAAA,CAAAC,OAAA,CAAuB;AACnD;AAEA,SAASC,MAAMA,CACbC,GAAkB,EAClBC,KAAoB;EAEpB,OAAOC,eAAA,CAAAC,GAAA,CAECC,MAAM,IAAI;IACd,MAAMC,GAAG,GAAoB,EAAS;IACtC,KAAK,MAAM,CAACC,CAAC,EAAEC,CAAC,CAAC,IAAIH,MAAM,EAAE;MAC3BC,GAAG,CAACC,CAAC,CAAC,GAAGC,CAAC;IACZ;IACA,OAAOF,GAAG;EACZ,CAAC,EARIH,eAAA,CAAAM,SAAA,CACM;IAAEC,SAAS,EAAE;EAAE,CAAE,EADvBP,eAAA,CAAAQ,KAAA,CAAUV,GAAG,EAAEC,KAAK,CAAC,CACG,CAO3B;AACN;AAEA,MAAMZ,EAAE,gBAAGH,OAAO,CAAC,SAASG,EAAEA,CAACG,GAAQ;EACrC;EACA,QAAQA,GAAG,CAACmB,IAAI;IACd;MACE,OAAOC,eAAA,CAAAC,KAAA,CACL,MACEX,eAAA,CAAAY,MAAA,CACEC,eAAA,CAAAC,OAAA,CAAW,IAAI/B,0BAA0B,CAAC,yDAAyD,CAAC,EAAAgC,UAAA,YAAC,CACtG,EACFC,IAAI,IAAKA,IAAI,CAAC,GAAGC,eAAA,CAAAhB,GAAA,CAAuBd,EAAE,EAAzBG,GAAG,CAAC4B,cAAc,CAAQ,CAAC,EALxC1B,OAAO,CAACF,GAAG,CAAC,CAMlB;IACH;MACE,OAAOU,eAAA,CAAAmB,QAAA,CAAa7B,GAAG,CAAC8B,OAAO,CAAC;IAClC;MACE,OAAOpB,eAAA,CAAAmB,QAAA,CAAa7B,GAAG,CAAC+B,MAAM,CAAC;IACjC;MACE,OAAOrB,eAAA,CAAAmB,QAAA,CAAaG,SAAS,CAAC;IAChC;MACE,OAAOtB,eAAA,CAAAmB,QAAA,CAAaG,SAAS,CAAC;IAChC;MACE,OAAOtB,eAAA,CAAAY,MAAA,CAAWC,eAAA,CAAAC,OAAA,CAAW,IAAI/B,0BAA0B,CAAC,gCAAgC,CAAC,EAAAgC,UAAA,YAAC,CAAC;IACjG;MACE,OAAOf,eAAA,CAAAuB,QAAA,EAAc;IACvB;MACE,OAAOvB,eAAA,CAAAuB,QAAA,EAAc;IACvB;MACE,OAAOvB,eAAA,CAAAwB,iBAAA,EAAuB;IAChC;MACE,OAAAxB,eAAA,CAAAyB,KAAA;IACF;MACE,OAAAzB,eAAA,CAAA0B,OAAA;IACF;MACE,OAAA1B,eAAA,CAAA2B,MAAA;IACF;MACE,OAAO3B,eAAA,CAAAC,GAAA,CAA6B2B,CAAC,IAAKC,MAAM,CAACC,GAAG,CAACF,CAAC,CAAC,EAAhD5B,eAAA,CAAAwB,iBAAA,EAAuB,CAA0B;IAC1D;MACE,OAAOxB,eAAA,CAAAuB,QAAA,EAAc;IACvB;MAA6B;QAC3B,MAAMQ,UAAU,GAA8B,CAAC/B,eAAA,CAAAmB,QAAA,CAAa7B,GAAG,CAAC0C,IAAI,CAAC,CAAC;QACtE,KAAK,MAAMC,IAAI,IAAI3C,GAAG,CAAC4C,KAAK,EAAE;UAC5BH,UAAU,CAACI,IAAI,CAACnC,eAAA,CAAAwB,iBAAA,CAAsB;YAAEjB,SAAS,EAAE;UAAC,CAAE,CAAC,CAAC;UACxDwB,UAAU,CAACI,IAAI,CAACnC,eAAA,CAAAmB,QAAA,CAAac,IAAI,CAACb,OAAO,CAAC,CAAC;QAC7C;QACA,OAAOpB,eAAA,CAAAC,GAAA,CAA8BiC,KAAK,IAAKA,KAAK,CAACE,IAAI,CAAC,EAAE,CAAC,EAAtDpC,eAAA,CAAAQ,KAAA,CAAU,GAAGuB,UAAU,CAAC,CAA+B;MAChE;IACA;MAAmB;QACjB,MAAMM,QAAQ,GAAGpB,eAAA,CAAAhB,GAAA,CAAkBqC,CAAC,IAAKnD,EAAE,CAACmD,CAAC,CAACC,IAAI,CAAC,EAAlCjD,GAAG,CAAC+C,QAAQ,CAAuB;QACpD,MAAMG,IAAI,GAAOC,eAAA,CAAAxC,GAAA,CAAcyC,WAAW,IAAKzB,eAAA,CAAAhB,GAAA,CAAgBd,EAAE,EAAlBuD,WAAW,CAAQ,EAAjDpD,GAAG,CAACkD,IAAI,CAA0C;QACnE,IAAIG,MAAM,GAAO3C,eAAA,CAAAQ,KAAA,CAAU,GAAG6B,QAAQ,CAAC;QACvC,IAAIA,QAAQ,CAACO,MAAM,GAAG,CAAC,IAAIC,eAAA,CAAAC,SAAA,CAAAN,IAAI,CAAY,EAAE;UAC3C,MAAMO,kBAAkB,GAAG9B,eAAA,CAAA+B,SAAA,CAAwBV,CAAC,IAAKA,CAAC,CAACW,UAAU,EAA1C3D,GAAG,CAAC+C,QAAQ,CAA+B;UACtE,IAAIU,kBAAkB,KAAK,CAAC,CAAC,EAAE;YAC7BJ,MAAM,GAAG3C,eAAA,CAAAkD,OAAA,CAAgBC,EAAE,IACzBnD,eAAA,CAAAC,GAAA,CAAwEmD,CAAC,IAAKD,EAAE,CAACE,KAAK,CAAC,CAAC,EAAED,CAAC,CAAC,EAA5FpD,eAAA,CAAAsD,OAAA,CAAY;cAAEC,GAAG,EAAER,kBAAkB;cAAES,GAAG,EAAEnB,QAAQ,CAACO,MAAM,GAAG;YAAC,CAAE,CAAC,CAA2B,EADtFD,MAAM,CAEd;UACH;QACF;QACA,IAAIE,eAAA,CAAAY,MAAA,CAAAjB,IAAI,CAAS,EAAE;UACjB,MAAMR,IAAI,GAAGf,eAAA,CAAAyC,UAAA,CAAAlB,IAAI,CAACzC,KAAK,CAAY;UACnC,MAAM4D,IAAI,GAAA1C,eAAA,CAAA0C,IAAA,CAAGnB,IAAI,CAACzC,KAAK,CAAK;UAC5B4C,MAAM,GAAO3C,eAAA,CAAAkD,OAAA,CAAgBC,EAAE,IAAKnD,eAAA,CAAAC,GAAA,CAAsCuC,IAAI,IAAK,CAAC,GAAGW,EAAE,EAAE,GAAGX,IAAI,CAAC,EAA/DxC,eAAA,CAAAM,SAAA,CAAe;YAAEC,SAAS,EAAE;UAAC,CAAE,EAA/ByB,IAAI,CAA4B,CAAgC,EAAvFW,MAAM,CAAkF;UACrG,KAAK,IAAIiB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,IAAI,CAACf,MAAM,EAAEgB,CAAC,EAAE,EAAE;YACpCjB,MAAM,GAAG3C,eAAA,CAAAkD,OAAA,CAAgBC,EAAE,IAAKnD,eAAA,CAAAC,GAAA,CAAc4D,CAAC,IAAK,CAAC,GAAGV,EAAE,EAAEU,CAAC,CAAC,EAA9B5C,eAAA,CAAA6C,SAAA,CAAKF,CAAC,EAAND,IAAI,CAAI,CAAuB,EAAtDhB,MAAM,CAAiD;UAClE;QACF;QACA,OAAOA,MAAyB;MAClC;IACA;MAAyB;QACvB,MAAMoB,sBAAsB,GAAG9C,eAAA,CAAAhB,GAAA,CAA4B+D,EAAE,IAAK7E,EAAE,CAAC6E,EAAE,CAACzB,IAAI,CAAC,EAA9CjD,GAAG,CAAC2E,kBAAkB,CAAyB;QAC9E,MAAMC,eAAe,GAAUjD,eAAA,CAAAhB,GAAA,CAAyBkE,EAAE,IAAK,CAAChF,EAAE,CAACgF,EAAE,CAACC,SAAS,CAAC,EAAEjF,EAAE,CAACgF,EAAE,CAAC5B,IAAI,CAAC,CAAU,EAAxEjD,GAAG,CAAC4E,eAAe,CAAsD;QACxG,MAAMG,YAAY,GAAuC,EAAE;QAC3D,MAAMC,YAAY,GAAuC,EAAE;QAC3D,KAAK,IAAIlB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGW,sBAAsB,CAACnB,MAAM,EAAEQ,CAAC,EAAE,EAAE;UACtD,MAAMY,EAAE,GAAK/C,eAAA,CAAA6C,SAAA,CAAuBV,CAAC,EAAxB9D,GAAG,CAAC2E,kBAAkB,CAAI;UACvC,MAAMM,IAAI,GAAGP,EAAE,CAACO,IAAI;UACpB,IAAI,CAACP,EAAE,CAACf,UAAU,EAAE;YAClBoB,YAAY,CAACE,IAAI,CAAC,GAAGtD,eAAA,CAAA6C,SAAA,CAAuBV,CAAC,EAAxBW,sBAAsB,CAAI;UACjD,CAAC,MAAM;YACLO,YAAY,CAACC,IAAI,CAAC,GAAGtD,eAAA,CAAA6C,SAAA,CAAuBV,CAAC,EAAxBW,sBAAsB,CAAI;UACjD;QACF;QACA,IAAIpB,MAAM,GAAG3C,eAAA,CAAAwE,OAAA,CAAiCxE,eAAA,CAAAyE,OAAA,CAAYH,YAAY,CAAC,EAAE,CAACT,CAAC,EAAEa,CAAC,MAAM;UAAE,GAAGb,CAAC;UAAE,GAAGa;QAAC,CAAE,CAAC,EAAtF1E,eAAA,CAAA2E,MAAA,CAAWN,YAAY,CAAC,CAA+D;QACpG,KAAK,IAAIjB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGc,eAAe,CAACtB,MAAM,EAAEQ,CAAC,EAAE,EAAE;UAC/C,MAAMgB,SAAS,GAAGnD,eAAA,CAAA6C,SAAA,CAAgBV,CAAC,EAAjBc,eAAe,CAAI,CAAC,CAAC,CAAE;UACzC,MAAM3B,IAAI,GAAQtB,eAAA,CAAA6C,SAAA,CAAgBV,CAAC,EAAjBc,eAAe,CAAI,CAAC,CAAC,CAAE;UACzCvB,MAAM,GAAY3C,eAAA,CAAAkD,OAAA,CAAgB0B,CAAC,IAAI;YACrC,OAAO5E,eAAA,CAAAC,GAAA,CAA6B4E,CAAC,KAAM;cAAE,GAAGA,CAAC;cAAE,GAAGD;YAAC,CAAE,CAAC,EAAnD/E,MAAM,CAACuE,SAAS,EAAE7B,IAAI,CAAC,CAA6B;UAC7D,CAAC,EAFiBI,MAAM,CAEtB;QACJ;QACA,OAAOA,MAAM;MACf;IACA;MAAmB;QACjB,MAAMmC,KAAK,GAAG7D,eAAA,CAAAhB,GAAA,CAAcd,EAAE,EAAhBG,GAAG,CAACwF,KAAK,CAAQ;QAC/B,OAAO9E,eAAA,CAAA+E,KAAA,CAAU,GAAGD,KAAK,CAAoB;MAC/C;IACA;MAAkB;QAChB,OAAOpE,eAAA,CAAAC,KAAA,CACL,MAAK;UACH,MAAMqE,CAAC,GAAKA,CAAA,KAAM7F,EAAE,CAACG,GAAG,CAAC2F,MAAM,EAAE,CAAC;UAClC,MAAMvF,GAAG,GAAGV,OAAO,CAA0BgG,CAAC,CAAC;UAC/C,OAAOhF,eAAA,CAAAkF,KAAA,CAAU,MAAMxF,GAAG,CAACsF,CAAC,CAAC,CAAC;QAChC,CAAC,EACAG,OAAO,IAAKA,OAAO,EAAE,EANjB3F,OAAO,CAACF,GAAG,CAAC,CAOlB;MACH;IACA;MAAkB;QAChB,IAAIA,GAAG,CAAC8F,KAAK,CAACxC,MAAM,KAAK,CAAC,EAAE;UAC1B,OAAO5C,eAAA,CAAAY,MAAA,CAAWC,eAAA,CAAAC,OAAA,CAAW,IAAI/B,0BAA0B,CAAC,sCAAsC,CAAC,EAAAgC,UAAA,aAAC,CAAC;QACvG;QACA,OAAOf,eAAA,CAAA+E,KAAA,CAAU,GAAG9D,eAAA,CAAAhB,GAAA,CAAc,CAAC,CAACoF,CAAC,EAAEtF,KAAK,CAAC,KAAKC,eAAA,CAAAmB,QAAA,CAAapB,KAAK,CAAC,EAAjDT,GAAG,CAAC8F,KAAK,CAAyC,CAAoB;MAC5F;IACA;MAAwB;QACtB,MAAME,IAAI,GAAGnG,EAAE,CAACG,GAAG,CAACgG,IAAI,CAAC;QACzB,OAAO5E,eAAA,CAAAC,KAAA,CACL,MAAMX,eAAA,CAAAuF,MAAA,CAAa1B,CAAC,IAAK2B,eAAA,CAAAC,OAAA,CAAAnG,GAAG,CAACoG,MAAM,CAAC7B,CAAC,CAAC,CAAU,EAA1CyB,IAAI,CAAuC,EAChDH,OAAO,IAAKA,OAAO,CAACG,IAAI,CAAC,EAFrB9F,OAAO,CAACF,GAAG,CAAC,CAGlB;MACH;IACA;MACE,OAAOH,EAAE,CAACG,GAAG,CAACqG,EAAE,CAAC;IACnB;MAAwB;QACtB,MAAML,IAAI,GAAGnG,EAAE,CAACG,GAAG,CAACgG,IAAI,CAAC;QACzB,OAAO5E,eAAA,CAAAC,KAAA,CACL,MAAMX,eAAA,CAAAuF,MAAA,CAAa1B,CAAC,IAAK5C,eAAA,CAAA2E,KAAA,CAAsBvF,CAAC,IAAKA,CAAC,CAACwF,QAAQ,CAAChC,CAAC,CAAC,EAAzCvE,GAAG,CAACwG,UAAU,CAA4B,EAA7DR,IAAI,CAA0D,EACnEH,OAAO,IAAKA,OAAO,CAACG,IAAI,CAAC,EAFrB9F,OAAO,CAACF,GAAG,CAAC,CAGlB;MACH;EACF;AACF,CAAC,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Gen.mjs","names":[],"sources":["../esm/Gen.js"],"sourcesContent":["const fileName_1 = \"(@fncts/schema) src/Gen.ts\";\nimport * as tsplus_module_1 from \"@fncts/schema/AST\";\nimport * as tsplus_module_2 from \"@fncts/schema/ASTAnnotation\";\nimport * as tsplus_module_3 from \"@fncts/test/control/Gen/api\";\nimport * as tsplus_module_4 from \"@fncts/io/IO/api\";\nimport * as tsplus_module_5 from \"@fncts/base/collection/immutable/Vector/api\";\nimport * as tsplus_module_6 from \"@fncts/base/data/Maybe/destructors\";\nimport * as tsplus_module_7 from \"@fncts/base/data/Maybe/api\";\nimport * as tsplus_module_8 from \"@fncts/base/data/Maybe/definition\";\nimport * as tsplus_module_9 from \"@fncts/base/data/Either/api\";\nimport { InvalidInterpretationError } from \"@fncts/schema/InvalidInterpretationError\";\nimport { memoize } from \"@fncts/schema/utils\";\n/**\n * @tsplus getter fncts.schema.Schema genFrom\n */\nexport function genFrom(self) {\n return go(tsplus_module_1.getFrom(self.ast));\n}\n/**\n * @tsplus getter fncts.schema.Schema genTo\n */\nexport function genTo(self) {\n return go(self.ast);\n}\nfunction getHook(ast) {\n return ast.annotations.get(tsplus_module_2.GenHook);\n}\nfunction record(key, value) {\n return tsplus_module_3.map((tuples) => {\n const out = {};\n for (const [k, v] of tuples) {\n out[k] = v;\n }\n return out;\n })(tsplus_module_3.arrayWith({ maxLength: 10 })(tsplus_module_3.tuple(key, value)));\n}\nconst go = memoize(function go(ast) {\n void 0;\n switch (ast._tag) {\n case 0 /* ASTTag.Declaration */:\n return tsplus_module_6.match(() => tsplus_module_3.fromIO(tsplus_module_4.haltNow(new InvalidInterpretationError(\"cannot build a Gen for a Declaration without a Gen hook\"), fileName_1 + \":49:23\")), (hook) => hook(...tsplus_module_5.map(go)(ast.typeParameters)))(getHook(ast));\n case 1 /* ASTTag.Literal */:\n return tsplus_module_3.constant(ast.literal);\n case 2 /* ASTTag.UniqueSymbol */:\n return tsplus_module_3.constant(ast.symbol);\n case 3 /* ASTTag.UndefinedKeyword */:\n return tsplus_module_3.constant(undefined);\n case 4 /* ASTTag.VoidKeyword */:\n return tsplus_module_3.constant(undefined);\n case 5 /* ASTTag.NeverKeyword */:\n return tsplus_module_3.fromIO(tsplus_module_4.haltNow(new InvalidInterpretationError(\"cannot build a Gen for `never`\"), fileName_1 + \":62:35\"));\n case 6 /* ASTTag.UnknownKeyword */:\n return tsplus_module_3.anything();\n case 7 /* ASTTag.AnyKeyword */:\n return tsplus_module_3.anything();\n case 8 /* ASTTag.StringKeyword */:\n return tsplus_module_3.fullUnicodeString();\n case 9 /* ASTTag.NumberKeyword */:\n return tsplus_module_3.float;\n case 10 /* ASTTag.BooleanKeyword */:\n return tsplus_module_3.boolean;\n case 11 /* ASTTag.BigIntKeyword */:\n return tsplus_module_3.bigInt;\n case 12 /* ASTTag.SymbolKeyword */:\n return tsplus_module_3.map((s) => Symbol.for(s))(tsplus_module_3.fullUnicodeString());\n case 13 /* ASTTag.ObjectKeyword */:\n return tsplus_module_3.anything();\n case 15 /* ASTTag.TemplateLiteral */: {\n const components = [tsplus_module_3.constant(ast.head)];\n for (const span of ast.spans) {\n components.push(tsplus_module_3.fullUnicodeString({ maxLength: 5 }));\n components.push(tsplus_module_3.constant(span.literal));\n }\n return tsplus_module_3.map((spans) => spans.join(\"\"))(tsplus_module_3.tuple(...components));\n }\n case 16 /* ASTTag.Tuple */: {\n const elements = tsplus_module_5.map((e) => go(e.type))(ast.elements);\n const rest = tsplus_module_7.map((restElement) => tsplus_module_5.map(go)(restElement))(ast.rest);\n let output = tsplus_module_3.tuple(...elements);\n if (elements.length > 0 && tsplus_module_8.isNothing(rest)) {\n const firstOptionalIndex = tsplus_module_5.findIndex((e) => e.isOptional)(ast.elements);\n if (firstOptionalIndex !== -1) {\n output = tsplus_module_3.flatMap((as) => tsplus_module_3.map((i) => as.slice(0, i))(tsplus_module_3.intWith({ min: firstOptionalIndex, max: elements.length - 1 })))(output);\n }\n }\n if (tsplus_module_8.isJust(rest)) {\n const head = tsplus_module_5.unsafeHead(rest.value);\n const tail = tsplus_module_5.tail(rest.value);\n output = tsplus_module_3.flatMap((as) => tsplus_module_3.map((rest) => [...as, ...rest])(tsplus_module_3.arrayWith({ maxLength: 5 })(head)))(output);\n for (let j = 0; j < tail.length; j++) {\n output = tsplus_module_3.flatMap((as) => tsplus_module_3.map((a) => [...as, a])(tsplus_module_5.unsafeGet(j)(tail)))(output);\n }\n }\n return output;\n }\n case 17 /* ASTTag.TypeLiteral */: {\n const propertySignatureTypes = tsplus_module_5.map((ps) => go(ps.type))(ast.propertySignatures);\n const indexSignatures = tsplus_module_5.map((is) => [go(is.parameter), go(is.type)])(ast.indexSignatures);\n const requiredGens = {};\n const optionalGens = {};\n for (let i = 0; i < propertySignatureTypes.length; i++) {\n const ps = tsplus_module_5.unsafeGet(i)(ast.propertySignatures);\n const name = ps.name;\n if (!ps.isOptional) {\n requiredGens[name] = tsplus_module_5.unsafeGet(i)(propertySignatureTypes);\n }\n else {\n optionalGens[name] = tsplus_module_5.unsafeGet(i)(propertySignatureTypes);\n }\n }\n let output = tsplus_module_3.zipWith(tsplus_module_3.partial(optionalGens), (a, b) => ({ ...a, ...b }))(tsplus_module_3.struct(requiredGens));\n for (let i = 0; i < indexSignatures.length; i++) {\n const parameter = tsplus_module_5.unsafeGet(i)(indexSignatures)[0];\n const type = tsplus_module_5.unsafeGet(i)(indexSignatures)[1];\n output = tsplus_module_3.flatMap((o) => {\n return tsplus_module_3.map((d) => ({ ...d, ...o }))(record(parameter, type));\n })(output);\n }\n return output;\n }\n case 18 /* ASTTag.Union */: {\n const types = tsplus_module_5.map(go)(ast.types);\n return tsplus_module_3.oneOf(...types);\n }\n case 19 /* ASTTag.Lazy */: {\n return tsplus_module_6.match(() => {\n const f = () => go(ast.getAST());\n const get = memoize(f);\n return tsplus_module_3.defer(() => get(f));\n }, (handler) => handler())(getHook(ast));\n }\n case 14 /* ASTTag.Enum */: {\n if (ast.enums.length === 0) {\n return tsplus_module_3.fromIO(tsplus_module_4.haltNow(new InvalidInterpretationError(\"cannot build a Gen for an empty enum\"), fileName_1 + \":149:37\"));\n }\n return tsplus_module_3.oneOf(...tsplus_module_5.map(([_, value]) => tsplus_module_3.constant(value))(ast.enums));\n }\n case 20 /* ASTTag.Refinement */: {\n const from = go(ast.from);\n return tsplus_module_6.match(() => tsplus_module_3.filter((a) => tsplus_module_9.isRight(ast.decode(a)))(from), (handler) => handler(from))(getHook(ast));\n }\n case 21 /* ASTTag.Transform */:\n return go(ast.to);\n case 22 /* ASTTag.Validation */: {\n const from = go(ast.from);\n return tsplus_module_6.match(() => tsplus_module_3.filter((a) => tsplus_module_5.every((v) => v.validate(a))(ast.validation))(from), (handler) => handler(from))(getHook(ast));\n }\n }\n});\n//# sourceMappingURL=Gen.js.map"],"mappings":"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"}
|
package/_mjs/Guard.mjs
CHANGED
|
@@ -1,269 +1,166 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import * as tsplus_module_4 from "@fncts/base/data/boolean/instances";
|
|
5
|
-
import * as tsplus_module_5 from "@fncts/base/data/Guard/api";
|
|
6
|
-
import * as tsplus_module_6 from "@fncts/base/data/bigint/instances";
|
|
7
|
-
import * as tsplus_module_7 from "@fncts/base/util/predicates";
|
|
1
|
+
import { getSearchTree } from "./AST.mjs";
|
|
2
|
+
import { parserFor } from "./Parser/interpreter.mjs";
|
|
3
|
+
import "./Parser.mjs";
|
|
8
4
|
import * as tsplus_module_8 from "@fncts/base/collection/immutable/Vector/api";
|
|
9
5
|
import * as tsplus_module_9 from "@fncts/base/data/Maybe/destructors";
|
|
10
6
|
import { globalValue } from "@fncts/base/data/Global";
|
|
11
|
-
import { isRecord } from "@fncts/base/util/predicates";
|
|
12
7
|
import { getKeysForIndexSignature, memoize } from "@fncts/schema/utils";
|
|
13
|
-
import
|
|
14
|
-
import {
|
|
8
|
+
import * as tsplus_module_7 from "@fncts/base/util/predicates";
|
|
9
|
+
import { isRecord } from "@fncts/base/util/predicates";
|
|
10
|
+
import * as tsplus_module_3 from "@fncts/base/data/number/instances";
|
|
11
|
+
import * as tsplus_module_2 from "@fncts/base/data/Either/destructors";
|
|
12
|
+
import * as tsplus_module_1 from "@fncts/base/data/Guard/definition";
|
|
13
|
+
import * as tsplus_module_4 from "@fncts/base/data/boolean/instances";
|
|
14
|
+
import * as tsplus_module_5 from "@fncts/base/data/Guard/api";
|
|
15
|
+
import * as tsplus_module_6 from "@fncts/base/data/bigint/instances";
|
|
16
|
+
//#region build/esm/Guard.js
|
|
15
17
|
/**
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
* @tsplus getter fncts.schema.Schema is
|
|
19
|
+
*/
|
|
20
|
+
function is(schema) {
|
|
21
|
+
return (input) => {
|
|
22
|
+
return guardFor(schema).is(input);
|
|
23
|
+
};
|
|
22
24
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
+
function guardFor(schema) {
|
|
26
|
+
return goMemo(schema.ast);
|
|
25
27
|
}
|
|
26
|
-
const guardStrict = value => tsplus_module_1.makeGuard(inp => inp === value);
|
|
27
|
-
const guardMemoMap =
|
|
28
|
+
const guardStrict = (value) => tsplus_module_1.makeGuard((inp) => inp === value);
|
|
29
|
+
const guardMemoMap = globalValue(Symbol.for("fncts.schema.Guard.guardMemoMap"), () => /* @__PURE__ */ new WeakMap());
|
|
28
30
|
function goMemo(ast) {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
guardMemoMap.set(ast, guard);
|
|
35
|
-
return guard;
|
|
31
|
+
const memo = guardMemoMap.get(ast);
|
|
32
|
+
if (memo) return memo;
|
|
33
|
+
const guard = go(ast);
|
|
34
|
+
guardMemoMap.set(ast, guard);
|
|
35
|
+
return guard;
|
|
36
36
|
}
|
|
37
37
|
function go(ast) {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
if (!tsplus_module_5.is(input[name])(guard)) {
|
|
163
|
-
return false;
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
if (indexSignatures.length > 0) {
|
|
168
|
-
for (let i = 0; i < indexSignatures.length; i++) {
|
|
169
|
-
const [parameter, type] = tsplus_module_8.unsafeGet(i)(indexSignatures);
|
|
170
|
-
const keys = getKeysForIndexSignature(input, tsplus_module_8.unsafeGet(i)(ast.indexSignatures).parameter);
|
|
171
|
-
for (const key of keys) {
|
|
172
|
-
if (Object.prototype.hasOwnProperty.call(expectedKeys, key)) {
|
|
173
|
-
continue;
|
|
174
|
-
}
|
|
175
|
-
if (!tsplus_module_5.is(key)(parameter)) {
|
|
176
|
-
return false;
|
|
177
|
-
}
|
|
178
|
-
if (!tsplus_module_5.is(input[key])(type)) {
|
|
179
|
-
return false;
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
return true;
|
|
185
|
-
});
|
|
186
|
-
}
|
|
187
|
-
case 18 /* ASTTag.Union */:
|
|
188
|
-
{
|
|
189
|
-
const searchTree = getSearchTree(ast.types, true);
|
|
190
|
-
const ownKeys = Reflect.ownKeys(searchTree.keys);
|
|
191
|
-
const len = ownKeys.length;
|
|
192
|
-
const otherwise = searchTree.otherwise;
|
|
193
|
-
const map = new Map();
|
|
194
|
-
tsplus_module_8.forEach(ast => {
|
|
195
|
-
map.set(ast, goMemo(ast));
|
|
196
|
-
})(ast.types);
|
|
197
|
-
return tsplus_module_1.makeGuard(input => {
|
|
198
|
-
if (len > 0) {
|
|
199
|
-
if (isRecord(input)) {
|
|
200
|
-
for (let i = 0; i < len; i++) {
|
|
201
|
-
const name = ownKeys[i];
|
|
202
|
-
const buckets = searchTree.keys[name].buckets;
|
|
203
|
-
if (Object.prototype.hasOwnProperty.call(input, name)) {
|
|
204
|
-
const literal = String(input[name]);
|
|
205
|
-
if (Object.prototype.hasOwnProperty.call(buckets, literal)) {
|
|
206
|
-
const bucket = buckets[literal];
|
|
207
|
-
for (let i = 0; i < bucket.length; i++) {
|
|
208
|
-
if (tsplus_module_5.is(input)(map.get(bucket[i]))) {
|
|
209
|
-
return true;
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
for (let i = 0; i < otherwise.length; i++) {
|
|
218
|
-
if (tsplus_module_5.is(input)(map.get(otherwise[i]))) {
|
|
219
|
-
return true;
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
return false;
|
|
223
|
-
});
|
|
224
|
-
}
|
|
225
|
-
case 19 /* ASTTag.Lazy */:
|
|
226
|
-
{
|
|
227
|
-
const f = () => goMemo(ast.getAST());
|
|
228
|
-
const get = memoize(f);
|
|
229
|
-
return tsplus_module_1.makeGuard(input => tsplus_module_5.is(input)(get()));
|
|
230
|
-
}
|
|
231
|
-
case 14 /* ASTTag.Enum */:
|
|
232
|
-
{
|
|
233
|
-
return tsplus_module_1.makeGuard(input => tsplus_module_8.some(([_, value]) => value === input)(ast.enums));
|
|
234
|
-
}
|
|
235
|
-
case 20 /* ASTTag.Refinement */:
|
|
236
|
-
{
|
|
237
|
-
const from = goMemo(ast.from);
|
|
238
|
-
return tsplus_module_1.makeGuard(input => {
|
|
239
|
-
if (!tsplus_module_5.is(input)(from)) {
|
|
240
|
-
return false;
|
|
241
|
-
}
|
|
242
|
-
if (!ast.predicate(input)) {
|
|
243
|
-
return false;
|
|
244
|
-
}
|
|
245
|
-
return true;
|
|
246
|
-
});
|
|
247
|
-
}
|
|
248
|
-
case 21 /* ASTTag.Transform */:
|
|
249
|
-
{
|
|
250
|
-
return goMemo(ast.to);
|
|
251
|
-
}
|
|
252
|
-
case 22 /* ASTTag.Validation */:
|
|
253
|
-
{
|
|
254
|
-
const from = goMemo(ast.from);
|
|
255
|
-
return tsplus_module_1.makeGuard(input => {
|
|
256
|
-
if (!tsplus_module_5.is(input)(from)) {
|
|
257
|
-
return false;
|
|
258
|
-
}
|
|
259
|
-
for (const validation of ast.validation) {
|
|
260
|
-
if (!validation.validate(input)) {
|
|
261
|
-
return false;
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
return true;
|
|
265
|
-
});
|
|
266
|
-
}
|
|
267
|
-
}
|
|
38
|
+
switch (ast._tag) {
|
|
39
|
+
case 0: {
|
|
40
|
+
const parser = parserFor(ast, true);
|
|
41
|
+
return tsplus_module_1.makeGuard((inp) => tsplus_module_2.match(() => false, () => true)(parser(inp)));
|
|
42
|
+
}
|
|
43
|
+
case 1: return tsplus_module_1.makeGuard((inp) => inp === ast.literal);
|
|
44
|
+
case 2: return guardStrict(ast.symbol);
|
|
45
|
+
case 4:
|
|
46
|
+
case 3: return guardStrict(void 0);
|
|
47
|
+
case 5: return tsplus_module_1.makeGuard((inp) => false);
|
|
48
|
+
case 6:
|
|
49
|
+
case 7: return tsplus_module_1.makeGuard((inp) => true);
|
|
50
|
+
case 9: return tsplus_module_3.Guard;
|
|
51
|
+
case 10: return tsplus_module_4.Guard;
|
|
52
|
+
case 8: return tsplus_module_5.string;
|
|
53
|
+
case 11: return tsplus_module_6.Guard;
|
|
54
|
+
case 12: return tsplus_module_1.makeGuard((inp) => typeof inp === "symbol");
|
|
55
|
+
case 13: return tsplus_module_1.makeGuard(tsplus_module_7.isObject);
|
|
56
|
+
case 15: {
|
|
57
|
+
const parser = parserFor(ast, true);
|
|
58
|
+
return tsplus_module_1.makeGuard((inp) => tsplus_module_2.match(() => false, () => true)(parser(inp)));
|
|
59
|
+
}
|
|
60
|
+
case 16: {
|
|
61
|
+
const elements = tsplus_module_8.map((element) => goMemo(element.type))(ast.elements);
|
|
62
|
+
const restElements = tsplus_module_9.match(() => tsplus_module_8.empty(), (rest) => tsplus_module_8.map(goMemo)(rest))(ast.rest);
|
|
63
|
+
return tsplus_module_1.makeGuard((input) => {
|
|
64
|
+
if (!Array.isArray(input)) return false;
|
|
65
|
+
let i = 0;
|
|
66
|
+
for (; i < elements.length; i++) if (input.length < i + 1) {
|
|
67
|
+
if (!tsplus_module_8.unsafeGet(i)(ast.elements).isOptional) return false;
|
|
68
|
+
} else if (!tsplus_module_8.unsafeGet(i)(elements).is(input[i])) return false;
|
|
69
|
+
if (restElements.length > 0) {
|
|
70
|
+
const head = tsplus_module_8.unsafeHead(restElements);
|
|
71
|
+
const tail = tsplus_module_8.tail(restElements);
|
|
72
|
+
for (; i < input.length - tail.length; i++) if (!head.is(input[i])) return false;
|
|
73
|
+
for (let j = 0; j < tail.length; j++) {
|
|
74
|
+
i += j;
|
|
75
|
+
if (input.length < i + 1) return false;
|
|
76
|
+
if (!tsplus_module_8.unsafeGet(j)(tail).is(input[i])) return false;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return true;
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
case 17: {
|
|
83
|
+
if (ast.propertySignatures.length === 0 && ast.indexSignatures.length === 0) return tsplus_module_1.makeGuard((input) => input !== null);
|
|
84
|
+
const propertySignatureTypes = tsplus_module_8.map((ps) => goMemo(ps.type))(ast.propertySignatures);
|
|
85
|
+
const indexSignatures = tsplus_module_8.map((is) => [goMemo(is.parameter), goMemo(is.type)])(ast.indexSignatures);
|
|
86
|
+
return tsplus_module_1.makeGuard((input) => {
|
|
87
|
+
if (!isRecord(input)) return false;
|
|
88
|
+
const expectedKeys = {};
|
|
89
|
+
console.log(ast.propertySignatures);
|
|
90
|
+
for (let i = 0; i < propertySignatureTypes.length; i++) {
|
|
91
|
+
const ps = tsplus_module_8.unsafeGet(i)(ast.propertySignatures);
|
|
92
|
+
const guard = tsplus_module_8.unsafeGet(i)(propertySignatureTypes);
|
|
93
|
+
const name = ps.name;
|
|
94
|
+
expectedKeys[name] = null;
|
|
95
|
+
if (!Object.prototype.hasOwnProperty.call(input, name)) {
|
|
96
|
+
if (!ps.isOptional) return false;
|
|
97
|
+
} else if (!tsplus_module_5.is(input[name])(guard)) return false;
|
|
98
|
+
}
|
|
99
|
+
if (indexSignatures.length > 0) for (let i = 0; i < indexSignatures.length; i++) {
|
|
100
|
+
const [parameter, type] = tsplus_module_8.unsafeGet(i)(indexSignatures);
|
|
101
|
+
const keys = getKeysForIndexSignature(input, tsplus_module_8.unsafeGet(i)(ast.indexSignatures).parameter);
|
|
102
|
+
for (const key of keys) {
|
|
103
|
+
if (Object.prototype.hasOwnProperty.call(expectedKeys, key)) continue;
|
|
104
|
+
if (!tsplus_module_5.is(key)(parameter)) return false;
|
|
105
|
+
if (!tsplus_module_5.is(input[key])(type)) return false;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
return true;
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
case 18: {
|
|
112
|
+
const searchTree = getSearchTree(ast.types, true);
|
|
113
|
+
const ownKeys = Reflect.ownKeys(searchTree.keys);
|
|
114
|
+
const len = ownKeys.length;
|
|
115
|
+
const otherwise = searchTree.otherwise;
|
|
116
|
+
const map = /* @__PURE__ */ new Map();
|
|
117
|
+
tsplus_module_8.forEach((ast) => {
|
|
118
|
+
map.set(ast, goMemo(ast));
|
|
119
|
+
})(ast.types);
|
|
120
|
+
return tsplus_module_1.makeGuard((input) => {
|
|
121
|
+
if (len > 0) {
|
|
122
|
+
if (isRecord(input)) for (let i = 0; i < len; i++) {
|
|
123
|
+
const name = ownKeys[i];
|
|
124
|
+
const buckets = searchTree.keys[name].buckets;
|
|
125
|
+
if (Object.prototype.hasOwnProperty.call(input, name)) {
|
|
126
|
+
const literal = String(input[name]);
|
|
127
|
+
if (Object.prototype.hasOwnProperty.call(buckets, literal)) {
|
|
128
|
+
const bucket = buckets[literal];
|
|
129
|
+
for (let i = 0; i < bucket.length; i++) if (tsplus_module_5.is(input)(map.get(bucket[i]))) return true;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
for (let i = 0; i < otherwise.length; i++) if (tsplus_module_5.is(input)(map.get(otherwise[i]))) return true;
|
|
135
|
+
return false;
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
case 19: {
|
|
139
|
+
const f = () => goMemo(ast.getAST());
|
|
140
|
+
const get = memoize(f);
|
|
141
|
+
return tsplus_module_1.makeGuard((input) => tsplus_module_5.is(input)(get()));
|
|
142
|
+
}
|
|
143
|
+
case 14: return tsplus_module_1.makeGuard((input) => tsplus_module_8.some(([_, value]) => value === input)(ast.enums));
|
|
144
|
+
case 20: {
|
|
145
|
+
const from = goMemo(ast.from);
|
|
146
|
+
return tsplus_module_1.makeGuard((input) => {
|
|
147
|
+
if (!tsplus_module_5.is(input)(from)) return false;
|
|
148
|
+
if (!ast.predicate(input)) return false;
|
|
149
|
+
return true;
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
case 21: return goMemo(ast.to);
|
|
153
|
+
case 22: {
|
|
154
|
+
const from = goMemo(ast.from);
|
|
155
|
+
return tsplus_module_1.makeGuard((input) => {
|
|
156
|
+
if (!tsplus_module_5.is(input)(from)) return false;
|
|
157
|
+
for (const validation of ast.validation) if (!validation.validate(input)) return false;
|
|
158
|
+
return true;
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
}
|
|
268
162
|
}
|
|
163
|
+
//#endregion
|
|
164
|
+
export { guardFor, is };
|
|
165
|
+
|
|
269
166
|
//# sourceMappingURL=Guard.mjs.map
|
package/_mjs/Guard.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Guard.mjs","names":["globalValue","isRecord","getKeysForIndexSignature","memoize","getSearchTree","parserFor","is","schema","input","guardFor","goMemo","ast","guardStrict","value","tsplus_module_1","makeGuard","inp","guardMemoMap","Symbol","for","WeakMap","memo","get","guard","go","set","_tag","parser","tsplus_module_2","match","literal","symbol","undefined","tsplus_module_3","Guard","tsplus_module_4","tsplus_module_5","string","tsplus_module_6","tsplus_module_7","isObject","elements","tsplus_module_8","map","element","type","restElements","tsplus_module_9","empty","rest","Array","isArray","i","length","unsafeGet","isOptional","head","unsafeHead","tail","j","propertySignatures","indexSignatures","propertySignatureTypes","ps","parameter","expectedKeys","console","log","name","Object","prototype","hasOwnProperty","call","keys","key","searchTree","types","ownKeys","Reflect","len","otherwise","Map","forEach","buckets","String","bucket","f","getAST","some","_","enums","from","predicate","to","validation","validate"],"sources":["../_src/Guard.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Guard.mjs","names":[],"sources":["../esm/Guard.js"],"sourcesContent":["import * as tsplus_module_1 from \"@fncts/base/data/Guard/definition\";\nimport * as tsplus_module_2 from \"@fncts/base/data/Either/destructors\";\nimport * as tsplus_module_3 from \"@fncts/base/data/number/instances\";\nimport * as tsplus_module_4 from \"@fncts/base/data/boolean/instances\";\nimport * as tsplus_module_5 from \"@fncts/base/data/Guard/api\";\nimport * as tsplus_module_6 from \"@fncts/base/data/bigint/instances\";\nimport * as tsplus_module_7 from \"@fncts/base/util/predicates\";\nimport * as tsplus_module_8 from \"@fncts/base/collection/immutable/Vector/api\";\nimport * as tsplus_module_9 from \"@fncts/base/data/Maybe/destructors\";\nimport { globalValue } from \"@fncts/base/data/Global\";\nimport { isRecord } from \"@fncts/base/util/predicates\";\nimport { getKeysForIndexSignature, memoize } from \"@fncts/schema/utils\";\nimport { getSearchTree } from \"./AST.js\";\nimport { parserFor } from \"./Parser.js\";\n/**\n * @tsplus getter fncts.schema.Schema is\n */\nexport function is(schema) {\n return (input) => {\n return guardFor(schema).is(input);\n };\n}\nexport function guardFor(schema) {\n return goMemo(schema.ast);\n}\nconst guardStrict = (value) => tsplus_module_1.makeGuard((inp) => inp === value);\nconst guardMemoMap = globalValue(Symbol.for(\"fncts.schema.Guard.guardMemoMap\"), () => new WeakMap());\nfunction goMemo(ast) {\n const memo = guardMemoMap.get(ast);\n if (memo) {\n return memo;\n }\n const guard = go(ast);\n guardMemoMap.set(ast, guard);\n return guard;\n}\nfunction go(ast) {\n void 0;\n switch (ast._tag) {\n case 0 /* ASTTag.Declaration */: {\n const parser = parserFor(ast, true);\n return tsplus_module_1.makeGuard((inp) => tsplus_module_2.match(() => false, () => true)(parser(inp)));\n }\n case 1 /* ASTTag.Literal */: {\n return tsplus_module_1.makeGuard((inp) => inp === ast.literal);\n }\n case 2 /* ASTTag.UniqueSymbol */: {\n return guardStrict(ast.symbol);\n }\n case 4 /* ASTTag.VoidKeyword */:\n case 3 /* ASTTag.UndefinedKeyword */: {\n return guardStrict(undefined);\n }\n case 5 /* ASTTag.NeverKeyword */: {\n return tsplus_module_1.makeGuard((inp) => false);\n }\n case 6 /* ASTTag.UnknownKeyword */:\n case 7 /* ASTTag.AnyKeyword */: {\n return tsplus_module_1.makeGuard((inp) => true);\n }\n case 9 /* ASTTag.NumberKeyword */: {\n return tsplus_module_3.Guard;\n }\n case 10 /* ASTTag.BooleanKeyword */: {\n return tsplus_module_4.Guard;\n }\n case 8 /* ASTTag.StringKeyword */: {\n return tsplus_module_5.string;\n }\n case 11 /* ASTTag.BigIntKeyword */: {\n return tsplus_module_6.Guard;\n }\n case 12 /* ASTTag.SymbolKeyword */: {\n return tsplus_module_1.makeGuard((inp) => typeof inp === \"symbol\");\n }\n case 13 /* ASTTag.ObjectKeyword */: {\n return tsplus_module_1.makeGuard(tsplus_module_7.isObject);\n }\n case 15 /* ASTTag.TemplateLiteral */: {\n const parser = parserFor(ast, true);\n return tsplus_module_1.makeGuard((inp) => tsplus_module_2.match(() => false, () => true)(parser(inp)));\n }\n case 16 /* ASTTag.Tuple */: {\n const elements = tsplus_module_8.map((element) => goMemo(element.type))(ast.elements);\n const restElements = tsplus_module_9.match(() => tsplus_module_8.empty(), (rest) => tsplus_module_8.map(goMemo)(rest))(ast.rest);\n return tsplus_module_1.makeGuard((input) => {\n if (!Array.isArray(input)) {\n return false;\n }\n let i = 0;\n for (; i < elements.length; i++) {\n if (input.length < i + 1) {\n if (!tsplus_module_8.unsafeGet(i)(ast.elements).isOptional) {\n return false;\n }\n }\n else {\n const guard = tsplus_module_8.unsafeGet(i)(elements);\n if (!guard.is(input[i])) {\n return false;\n }\n }\n }\n if (restElements.length > 0) {\n const head = tsplus_module_8.unsafeHead(restElements);\n const tail = tsplus_module_8.tail(restElements);\n for (; i < input.length - tail.length; i++) {\n if (!head.is(input[i])) {\n return false;\n }\n }\n for (let j = 0; j < tail.length; j++) {\n i += j;\n if (input.length < i + 1) {\n return false;\n }\n const guard = tsplus_module_8.unsafeGet(j)(tail);\n if (!guard.is(input[i])) {\n return false;\n }\n }\n }\n return true;\n });\n }\n case 17 /* ASTTag.TypeLiteral */: {\n if (ast.propertySignatures.length === 0 && ast.indexSignatures.length === 0) {\n return tsplus_module_1.makeGuard((input) => input !== null);\n }\n const propertySignatureTypes = tsplus_module_8.map((ps) => goMemo(ps.type))(ast.propertySignatures);\n const indexSignatures = tsplus_module_8.map((is) => [goMemo(is.parameter), goMemo(is.type)])(ast.indexSignatures);\n return tsplus_module_1.makeGuard((input) => {\n if (!isRecord(input)) {\n return false;\n }\n const expectedKeys = {};\n console.log(ast.propertySignatures);\n for (let i = 0; i < propertySignatureTypes.length; i++) {\n const ps = tsplus_module_8.unsafeGet(i)(ast.propertySignatures);\n const guard = tsplus_module_8.unsafeGet(i)(propertySignatureTypes);\n const name = ps.name;\n expectedKeys[name] = null;\n if (!Object.prototype.hasOwnProperty.call(input, name)) {\n if (!ps.isOptional) {\n return false;\n }\n }\n else {\n if (!tsplus_module_5.is(input[name])(guard)) {\n return false;\n }\n }\n }\n if (indexSignatures.length > 0) {\n for (let i = 0; i < indexSignatures.length; i++) {\n const [parameter, type] = tsplus_module_8.unsafeGet(i)(indexSignatures);\n const keys = getKeysForIndexSignature(input, tsplus_module_8.unsafeGet(i)(ast.indexSignatures).parameter);\n for (const key of keys) {\n if (Object.prototype.hasOwnProperty.call(expectedKeys, key)) {\n continue;\n }\n if (!tsplus_module_5.is(key)(parameter)) {\n return false;\n }\n if (!tsplus_module_5.is(input[key])(type)) {\n return false;\n }\n }\n }\n }\n return true;\n });\n }\n case 18 /* ASTTag.Union */: {\n const searchTree = getSearchTree(ast.types, true);\n const ownKeys = Reflect.ownKeys(searchTree.keys);\n const len = ownKeys.length;\n const otherwise = searchTree.otherwise;\n const map = new Map();\n tsplus_module_8.forEach((ast) => {\n map.set(ast, goMemo(ast));\n })(ast.types);\n return tsplus_module_1.makeGuard((input) => {\n if (len > 0) {\n if (isRecord(input)) {\n for (let i = 0; i < len; i++) {\n const name = ownKeys[i];\n const buckets = searchTree.keys[name].buckets;\n if (Object.prototype.hasOwnProperty.call(input, name)) {\n const literal = String(input[name]);\n if (Object.prototype.hasOwnProperty.call(buckets, literal)) {\n const bucket = buckets[literal];\n for (let i = 0; i < bucket.length; i++) {\n if (tsplus_module_5.is(input)(map.get(bucket[i]))) {\n return true;\n }\n }\n }\n }\n }\n }\n }\n for (let i = 0; i < otherwise.length; i++) {\n if (tsplus_module_5.is(input)(map.get(otherwise[i]))) {\n return true;\n }\n }\n return false;\n });\n }\n case 19 /* ASTTag.Lazy */: {\n const f = () => goMemo(ast.getAST());\n const get = memoize(f);\n return tsplus_module_1.makeGuard((input) => tsplus_module_5.is(input)(get()));\n }\n case 14 /* ASTTag.Enum */: {\n return tsplus_module_1.makeGuard((input) => tsplus_module_8.some(([_, value]) => value === input)(ast.enums));\n }\n case 20 /* ASTTag.Refinement */: {\n const from = goMemo(ast.from);\n return tsplus_module_1.makeGuard((input) => {\n if (!tsplus_module_5.is(input)(from)) {\n return false;\n }\n if (!ast.predicate(input)) {\n return false;\n }\n return true;\n });\n }\n case 21 /* ASTTag.Transform */: {\n return goMemo(ast.to);\n }\n case 22 /* ASTTag.Validation */: {\n const from = goMemo(ast.from);\n return tsplus_module_1.makeGuard((input) => {\n if (!tsplus_module_5.is(input)(from)) {\n return false;\n }\n for (const validation of ast.validation) {\n if (!validation.validate(input)) {\n return false;\n }\n }\n return true;\n });\n }\n }\n}\n//# sourceMappingURL=Guard.js.map"],"mappings":";;;;;;;;;;;;;;;;;;;AAiBA,SAAgB,GAAG,QAAQ;AACvB,SAAQ,UAAU;AACd,SAAO,SAAS,OAAO,CAAC,GAAG,MAAM;;;AAGzC,SAAgB,SAAS,QAAQ;AAC7B,QAAO,OAAO,OAAO,IAAI;;AAE7B,MAAM,eAAe,UAAU,gBAAgB,WAAW,QAAQ,QAAQ,MAAM;AAChF,MAAM,eAAe,YAAY,OAAO,IAAI,kCAAkC,wBAAQ,IAAI,SAAS,CAAC;AACpG,SAAS,OAAO,KAAK;CACjB,MAAM,OAAO,aAAa,IAAI,IAAI;AAClC,KAAI,KACA,QAAO;CAEX,MAAM,QAAQ,GAAG,IAAI;AACrB,cAAa,IAAI,KAAK,MAAM;AAC5B,QAAO;;AAEX,SAAS,GAAG,KAAK;AAEb,SAAQ,IAAI,MAAZ;EACI,KAAK,GAA4B;GAC7B,MAAM,SAAS,UAAU,KAAK,KAAK;AACnC,UAAO,gBAAgB,WAAW,QAAQ,gBAAgB,YAAY,aAAa,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;;EAE1G,KAAK,EACD,QAAO,gBAAgB,WAAW,QAAQ,QAAQ,IAAI,QAAQ;EAElE,KAAK,EACD,QAAO,YAAY,IAAI,OAAO;EAElC,KAAK;EACL,KAAK,EACD,QAAO,YAAY,KAAA,EAAU;EAEjC,KAAK,EACD,QAAO,gBAAgB,WAAW,QAAQ,MAAM;EAEpD,KAAK;EACL,KAAK,EACD,QAAO,gBAAgB,WAAW,QAAQ,KAAK;EAEnD,KAAK,EACD,QAAO,gBAAgB;EAE3B,KAAK,GACD,QAAO,gBAAgB;EAE3B,KAAK,EACD,QAAO,gBAAgB;EAE3B,KAAK,GACD,QAAO,gBAAgB;EAE3B,KAAK,GACD,QAAO,gBAAgB,WAAW,QAAQ,OAAO,QAAQ,SAAS;EAEtE,KAAK,GACD,QAAO,gBAAgB,UAAU,gBAAgB,SAAS;EAE9D,KAAK,IAAiC;GAClC,MAAM,SAAS,UAAU,KAAK,KAAK;AACnC,UAAO,gBAAgB,WAAW,QAAQ,gBAAgB,YAAY,aAAa,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;;EAE1G,KAAK,IAAuB;GACxB,MAAM,WAAW,gBAAgB,KAAK,YAAY,OAAO,QAAQ,KAAK,CAAC,CAAC,IAAI,SAAS;GACrF,MAAM,eAAe,gBAAgB,YAAY,gBAAgB,OAAO,GAAG,SAAS,gBAAgB,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK;AAChI,UAAO,gBAAgB,WAAW,UAAU;AACxC,QAAI,CAAC,MAAM,QAAQ,MAAM,CACrB,QAAO;IAEX,IAAI,IAAI;AACR,WAAO,IAAI,SAAS,QAAQ,IACxB,KAAI,MAAM,SAAS,IAAI;SACf,CAAC,gBAAgB,UAAU,EAAE,CAAC,IAAI,SAAS,CAAC,WAC5C,QAAO;eAKP,CADU,gBAAgB,UAAU,EAAE,CAAC,SACjC,CAAC,GAAG,MAAM,GAAG,CACnB,QAAO;AAInB,QAAI,aAAa,SAAS,GAAG;KACzB,MAAM,OAAO,gBAAgB,WAAW,aAAa;KACrD,MAAM,OAAO,gBAAgB,KAAK,aAAa;AAC/C,YAAO,IAAI,MAAM,SAAS,KAAK,QAAQ,IACnC,KAAI,CAAC,KAAK,GAAG,MAAM,GAAG,CAClB,QAAO;AAGf,UAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AAClC,WAAK;AACL,UAAI,MAAM,SAAS,IAAI,EACnB,QAAO;AAGX,UAAI,CADU,gBAAgB,UAAU,EAAE,CAAC,KACjC,CAAC,GAAG,MAAM,GAAG,CACnB,QAAO;;;AAInB,WAAO;KACT;;EAEN,KAAK,IAA6B;AAC9B,OAAI,IAAI,mBAAmB,WAAW,KAAK,IAAI,gBAAgB,WAAW,EACtE,QAAO,gBAAgB,WAAW,UAAU,UAAU,KAAK;GAE/D,MAAM,yBAAyB,gBAAgB,KAAK,OAAO,OAAO,GAAG,KAAK,CAAC,CAAC,IAAI,mBAAmB;GACnG,MAAM,kBAAkB,gBAAgB,KAAK,OAAO,CAAC,OAAO,GAAG,UAAU,EAAE,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,gBAAgB;AACjH,UAAO,gBAAgB,WAAW,UAAU;AACxC,QAAI,CAAC,SAAS,MAAM,CAChB,QAAO;IAEX,MAAM,eAAe,EAAE;AACvB,YAAQ,IAAI,IAAI,mBAAmB;AACnC,SAAK,IAAI,IAAI,GAAG,IAAI,uBAAuB,QAAQ,KAAK;KACpD,MAAM,KAAK,gBAAgB,UAAU,EAAE,CAAC,IAAI,mBAAmB;KAC/D,MAAM,QAAQ,gBAAgB,UAAU,EAAE,CAAC,uBAAuB;KAClE,MAAM,OAAO,GAAG;AAChB,kBAAa,QAAQ;AACrB,SAAI,CAAC,OAAO,UAAU,eAAe,KAAK,OAAO,KAAK;UAC9C,CAAC,GAAG,WACJ,QAAO;gBAIP,CAAC,gBAAgB,GAAG,MAAM,MAAM,CAAC,MAAM,CACvC,QAAO;;AAInB,QAAI,gBAAgB,SAAS,EACzB,MAAK,IAAI,IAAI,GAAG,IAAI,gBAAgB,QAAQ,KAAK;KAC7C,MAAM,CAAC,WAAW,QAAQ,gBAAgB,UAAU,EAAE,CAAC,gBAAgB;KACvE,MAAM,OAAO,yBAAyB,OAAO,gBAAgB,UAAU,EAAE,CAAC,IAAI,gBAAgB,CAAC,UAAU;AACzG,UAAK,MAAM,OAAO,MAAM;AACpB,UAAI,OAAO,UAAU,eAAe,KAAK,cAAc,IAAI,CACvD;AAEJ,UAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,UAAU,CACnC,QAAO;AAEX,UAAI,CAAC,gBAAgB,GAAG,MAAM,KAAK,CAAC,KAAK,CACrC,QAAO;;;AAKvB,WAAO;KACT;;EAEN,KAAK,IAAuB;GACxB,MAAM,aAAa,cAAc,IAAI,OAAO,KAAK;GACjD,MAAM,UAAU,QAAQ,QAAQ,WAAW,KAAK;GAChD,MAAM,MAAM,QAAQ;GACpB,MAAM,YAAY,WAAW;GAC7B,MAAM,sBAAM,IAAI,KAAK;AACrB,mBAAgB,SAAS,QAAQ;AAC7B,QAAI,IAAI,KAAK,OAAO,IAAI,CAAC;KAC3B,CAAC,IAAI,MAAM;AACb,UAAO,gBAAgB,WAAW,UAAU;AACxC,QAAI,MAAM;SACF,SAAS,MAAM,CACf,MAAK,IAAI,IAAI,GAAG,IAAI,KAAK,KAAK;MAC1B,MAAM,OAAO,QAAQ;MACrB,MAAM,UAAU,WAAW,KAAK,MAAM;AACtC,UAAI,OAAO,UAAU,eAAe,KAAK,OAAO,KAAK,EAAE;OACnD,MAAM,UAAU,OAAO,MAAM,MAAM;AACnC,WAAI,OAAO,UAAU,eAAe,KAAK,SAAS,QAAQ,EAAE;QACxD,MAAM,SAAS,QAAQ;AACvB,aAAK,IAAI,IAAI,GAAG,IAAI,OAAO,QAAQ,IAC/B,KAAI,gBAAgB,GAAG,MAAM,CAAC,IAAI,IAAI,OAAO,GAAG,CAAC,CAC7C,QAAO;;;;;AAQnC,SAAK,IAAI,IAAI,GAAG,IAAI,UAAU,QAAQ,IAClC,KAAI,gBAAgB,GAAG,MAAM,CAAC,IAAI,IAAI,UAAU,GAAG,CAAC,CAChD,QAAO;AAGf,WAAO;KACT;;EAEN,KAAK,IAAsB;GACvB,MAAM,UAAU,OAAO,IAAI,QAAQ,CAAC;GACpC,MAAM,MAAM,QAAQ,EAAE;AACtB,UAAO,gBAAgB,WAAW,UAAU,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;;EAEjF,KAAK,GACD,QAAO,gBAAgB,WAAW,UAAU,gBAAgB,MAAM,CAAC,GAAG,WAAW,UAAU,MAAM,CAAC,IAAI,MAAM,CAAC;EAEjH,KAAK,IAA4B;GAC7B,MAAM,OAAO,OAAO,IAAI,KAAK;AAC7B,UAAO,gBAAgB,WAAW,UAAU;AACxC,QAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAChC,QAAO;AAEX,QAAI,CAAC,IAAI,UAAU,MAAM,CACrB,QAAO;AAEX,WAAO;KACT;;EAEN,KAAK,GACD,QAAO,OAAO,IAAI,GAAG;EAEzB,KAAK,IAA4B;GAC7B,MAAM,OAAO,OAAO,IAAI,KAAK;AAC7B,UAAO,gBAAgB,WAAW,UAAU;AACxC,QAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAChC,QAAO;AAEX,SAAK,MAAM,cAAc,IAAI,WACzB,KAAI,CAAC,WAAW,SAAS,MAAM,CAC3B,QAAO;AAGf,WAAO;KACT"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
_a = InvalidInterpretationErrorTypeId;
|
|
1
|
+
//#region build/esm/InvalidInterpretationError.js
|
|
2
|
+
const InvalidInterpretationErrorTypeId = Symbol.for("fncts.schema.InvalidInterpretationError");
|
|
3
|
+
var InvalidInterpretationError = class extends Error {
|
|
4
|
+
[InvalidInterpretationErrorTypeId] = InvalidInterpretationErrorTypeId;
|
|
5
|
+
};
|
|
6
|
+
//#endregion
|
|
7
|
+
export { InvalidInterpretationError, InvalidInterpretationErrorTypeId };
|
|
8
|
+
|
|
10
9
|
//# sourceMappingURL=InvalidInterpretationError.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InvalidInterpretationError.mjs","names":[
|
|
1
|
+
{"version":3,"file":"InvalidInterpretationError.mjs","names":[],"sources":["../esm/InvalidInterpretationError.js"],"sourcesContent":["export const InvalidInterpretationErrorTypeId = Symbol.for(\"fncts.schema.InvalidInterpretationError\");\nexport class InvalidInterpretationError extends Error {\n [InvalidInterpretationErrorTypeId] = InvalidInterpretationErrorTypeId;\n}\n//# sourceMappingURL=InvalidInterpretationError.js.map"],"mappings":";AAAA,MAAa,mCAAmC,OAAO,IAAI,0CAA0C;AACrG,IAAa,6BAAb,cAAgD,MAAM;CAClD,CAAC,oCAAoC"}
|