@mionjs/run-types 0.8.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.dist/cjs/index.cjs +209 -0
- package/.dist/cjs/index.cjs.map +1 -0
- package/.dist/cjs/index.d.ts +60 -0
- package/.dist/cjs/package.json +1 -0
- package/.dist/cjs/src/constants.cjs +79 -0
- package/.dist/cjs/src/constants.cjs.map +1 -0
- package/.dist/cjs/src/constants.d.ts +7 -0
- package/.dist/cjs/src/constants.functions.cjs +181 -0
- package/.dist/cjs/src/constants.functions.cjs.map +1 -0
- package/.dist/cjs/src/constants.functions.d.ts +385 -0
- package/.dist/cjs/src/constants.kind.cjs +74 -0
- package/.dist/cjs/src/constants.kind.cjs.map +1 -0
- package/.dist/cjs/src/constants.kind.d.ts +21 -0
- package/.dist/cjs/src/createRunType.cjs +284 -0
- package/.dist/cjs/src/createRunType.cjs.map +1 -0
- package/.dist/cjs/src/createRunType.d.ts +5 -0
- package/.dist/cjs/src/createRunTypeFunctions.cjs +78 -0
- package/.dist/cjs/src/createRunTypeFunctions.cjs.map +1 -0
- package/.dist/cjs/src/createRunTypeFunctions.d.ts +12 -0
- package/.dist/cjs/src/formats.runtype.cjs +7 -0
- package/.dist/cjs/src/formats.runtype.cjs.map +1 -0
- package/.dist/cjs/src/formats.runtype.d.ts +6 -0
- package/.dist/cjs/src/jitCompilers/binary/binarySpec/binaryHelpers.cjs +109 -0
- package/.dist/cjs/src/jitCompilers/binary/binarySpec/binaryHelpers.cjs.map +1 -0
- package/.dist/cjs/src/jitCompilers/binary/binarySpec/binaryHelpers.d.ts +30 -0
- package/.dist/cjs/src/jitCompilers/binary/fromBinary.cjs +383 -0
- package/.dist/cjs/src/jitCompilers/binary/fromBinary.cjs.map +1 -0
- package/.dist/cjs/src/jitCompilers/binary/fromBinary.d.ts +7 -0
- package/.dist/cjs/src/jitCompilers/binary/toBinary.cjs +338 -0
- package/.dist/cjs/src/jitCompilers/binary/toBinary.cjs.map +1 -0
- package/.dist/cjs/src/jitCompilers/binary/toBinary.d.ts +7 -0
- package/.dist/cjs/src/jitCompilers/equalsHelpers.cjs +37 -0
- package/.dist/cjs/src/jitCompilers/equalsHelpers.cjs.map +1 -0
- package/.dist/cjs/src/jitCompilers/equalsHelpers.d.ts +4 -0
- package/.dist/cjs/src/jitCompilers/json/jsonSpec/jsonHelpers.cjs +56 -0
- package/.dist/cjs/src/jitCompilers/json/jsonSpec/jsonHelpers.cjs.map +1 -0
- package/.dist/cjs/src/jitCompilers/json/jsonSpec/jsonHelpers.d.ts +27 -0
- package/.dist/cjs/src/jitCompilers/json/stringifyJson.cjs +399 -0
- package/.dist/cjs/src/jitCompilers/json/stringifyJson.cjs.map +1 -0
- package/.dist/cjs/src/jitCompilers/json/stringifyJson.d.ts +10 -0
- package/.dist/cjs/src/jitCompilers/json/stringifySpec/stringifyHelpers.cjs +51 -0
- package/.dist/cjs/src/jitCompilers/json/stringifySpec/stringifyHelpers.cjs.map +1 -0
- package/.dist/cjs/src/jitCompilers/json/stringifySpec/stringifyHelpers.d.ts +27 -0
- package/.dist/cjs/src/jitCompilers/json/toJsCode.cjs +123 -0
- package/.dist/cjs/src/jitCompilers/json/toJsCode.cjs.map +1 -0
- package/.dist/cjs/src/jitCompilers/json/toJsCode.d.ts +5 -0
- package/.dist/cjs/src/lib/baseRunTypeFormat.cjs +200 -0
- package/.dist/cjs/src/lib/baseRunTypeFormat.cjs.map +1 -0
- package/.dist/cjs/src/lib/baseRunTypeFormat.d.ts +50 -0
- package/.dist/cjs/src/lib/baseRunTypes.cjs +308 -0
- package/.dist/cjs/src/lib/baseRunTypes.cjs.map +1 -0
- package/.dist/cjs/src/lib/baseRunTypes.d.ts +75 -0
- package/.dist/cjs/src/lib/createJitFunction.cjs +60 -0
- package/.dist/cjs/src/lib/createJitFunction.cjs.map +1 -0
- package/.dist/cjs/src/lib/createJitFunction.d.ts +5 -0
- package/.dist/cjs/src/lib/dkProxy.cjs +23 -0
- package/.dist/cjs/src/lib/dkProxy.cjs.map +1 -0
- package/.dist/cjs/src/lib/dkProxy.d.ts +4 -0
- package/.dist/cjs/src/lib/formats.cjs +89 -0
- package/.dist/cjs/src/lib/formats.cjs.map +1 -0
- package/.dist/cjs/src/lib/formats.d.ts +18 -0
- package/.dist/cjs/src/lib/guards.cjs +243 -0
- package/.dist/cjs/src/lib/guards.cjs.map +1 -0
- package/.dist/cjs/src/lib/guards.d.ts +120 -0
- package/.dist/cjs/src/lib/jitFnCompiler.cjs +648 -0
- package/.dist/cjs/src/lib/jitFnCompiler.cjs.map +1 -0
- package/.dist/cjs/src/lib/jitFnCompiler.d.ts +109 -0
- package/.dist/cjs/src/lib/jitFnsRegistry.cjs +41 -0
- package/.dist/cjs/src/lib/jitFnsRegistry.cjs.map +1 -0
- package/.dist/cjs/src/lib/jitFnsRegistry.d.ts +6 -0
- package/.dist/cjs/src/lib/typeId.cjs +205 -0
- package/.dist/cjs/src/lib/typeId.cjs.map +1 -0
- package/.dist/cjs/src/lib/typeId.d.ts +6 -0
- package/.dist/cjs/src/lib/utils.cjs +325 -0
- package/.dist/cjs/src/lib/utils.cjs.map +1 -0
- package/.dist/cjs/src/lib/utils.d.ts +32 -0
- package/.dist/cjs/src/mocking/constants.mock.cjs +108 -0
- package/.dist/cjs/src/mocking/constants.mock.cjs.map +1 -0
- package/.dist/cjs/src/mocking/constants.mock.d.ts +85 -0
- package/.dist/cjs/src/mocking/mockRegistry.cjs +12 -0
- package/.dist/cjs/src/mocking/mockRegistry.cjs.map +1 -0
- package/.dist/cjs/src/mocking/mockRegistry.d.ts +3 -0
- package/.dist/cjs/src/mocking/mockType.cjs +310 -0
- package/.dist/cjs/src/mocking/mockType.cjs.map +1 -0
- package/.dist/cjs/src/mocking/mockType.d.ts +3 -0
- package/.dist/cjs/src/mocking/mockUtils.cjs +62 -0
- package/.dist/cjs/src/mocking/mockUtils.cjs.map +1 -0
- package/.dist/cjs/src/mocking/mockUtils.d.ts +15 -0
- package/.dist/cjs/src/nodes/atomic/any.cjs +18 -0
- package/.dist/cjs/src/nodes/atomic/any.cjs.map +1 -0
- package/.dist/cjs/src/nodes/atomic/any.d.ts +8 -0
- package/.dist/cjs/src/nodes/atomic/bigInt.cjs +20 -0
- package/.dist/cjs/src/nodes/atomic/bigInt.cjs.map +1 -0
- package/.dist/cjs/src/nodes/atomic/bigInt.d.ts +10 -0
- package/.dist/cjs/src/nodes/atomic/boolean.cjs +20 -0
- package/.dist/cjs/src/nodes/atomic/boolean.cjs.map +1 -0
- package/.dist/cjs/src/nodes/atomic/boolean.d.ts +10 -0
- package/.dist/cjs/src/nodes/atomic/date.cjs +20 -0
- package/.dist/cjs/src/nodes/atomic/date.cjs.map +1 -0
- package/.dist/cjs/src/nodes/atomic/date.d.ts +10 -0
- package/.dist/cjs/src/nodes/atomic/enum.cjs +22 -0
- package/.dist/cjs/src/nodes/atomic/enum.cjs.map +1 -0
- package/.dist/cjs/src/nodes/atomic/enum.d.ts +8 -0
- package/.dist/cjs/src/nodes/atomic/enumMember.cjs +24 -0
- package/.dist/cjs/src/nodes/atomic/enumMember.cjs.map +1 -0
- package/.dist/cjs/src/nodes/atomic/enumMember.d.ts +10 -0
- package/.dist/cjs/src/nodes/atomic/literal.cjs +126 -0
- package/.dist/cjs/src/nodes/atomic/literal.cjs.map +1 -0
- package/.dist/cjs/src/nodes/atomic/literal.d.ts +20 -0
- package/.dist/cjs/src/nodes/atomic/never.cjs +22 -0
- package/.dist/cjs/src/nodes/atomic/never.cjs.map +1 -0
- package/.dist/cjs/src/nodes/atomic/never.d.ts +10 -0
- package/.dist/cjs/src/nodes/atomic/null.cjs +20 -0
- package/.dist/cjs/src/nodes/atomic/null.cjs.map +1 -0
- package/.dist/cjs/src/nodes/atomic/null.d.ts +10 -0
- package/.dist/cjs/src/nodes/atomic/number.cjs +20 -0
- package/.dist/cjs/src/nodes/atomic/number.cjs.map +1 -0
- package/.dist/cjs/src/nodes/atomic/number.d.ts +10 -0
- package/.dist/cjs/src/nodes/atomic/object.cjs +14 -0
- package/.dist/cjs/src/nodes/atomic/object.cjs.map +1 -0
- package/.dist/cjs/src/nodes/atomic/object.d.ts +8 -0
- package/.dist/cjs/src/nodes/atomic/regexp.cjs +23 -0
- package/.dist/cjs/src/nodes/atomic/regexp.cjs.map +1 -0
- package/.dist/cjs/src/nodes/atomic/regexp.d.ts +10 -0
- package/.dist/cjs/src/nodes/atomic/string.cjs +14 -0
- package/.dist/cjs/src/nodes/atomic/string.cjs.map +1 -0
- package/.dist/cjs/src/nodes/atomic/string.d.ts +8 -0
- package/.dist/cjs/src/nodes/atomic/symbol.cjs +26 -0
- package/.dist/cjs/src/nodes/atomic/symbol.cjs.map +1 -0
- package/.dist/cjs/src/nodes/atomic/symbol.d.ts +11 -0
- package/.dist/cjs/src/nodes/atomic/undefined.cjs +17 -0
- package/.dist/cjs/src/nodes/atomic/undefined.cjs.map +1 -0
- package/.dist/cjs/src/nodes/atomic/undefined.d.ts +9 -0
- package/.dist/cjs/src/nodes/atomic/unknown.cjs +8 -0
- package/.dist/cjs/src/nodes/atomic/unknown.cjs.map +1 -0
- package/.dist/cjs/src/nodes/atomic/unknown.d.ts +3 -0
- package/.dist/cjs/src/nodes/atomic/void.cjs +20 -0
- package/.dist/cjs/src/nodes/atomic/void.cjs.map +1 -0
- package/.dist/cjs/src/nodes/atomic/void.d.ts +10 -0
- package/.dist/cjs/src/nodes/collection/class.cjs +38 -0
- package/.dist/cjs/src/nodes/collection/class.cjs.map +1 -0
- package/.dist/cjs/src/nodes/collection/class.d.ts +9 -0
- package/.dist/cjs/src/nodes/collection/functionParams.cjs +33 -0
- package/.dist/cjs/src/nodes/collection/functionParams.cjs.map +1 -0
- package/.dist/cjs/src/nodes/collection/functionParams.d.ts +9 -0
- package/.dist/cjs/src/nodes/collection/interface.cjs +221 -0
- package/.dist/cjs/src/nodes/collection/interface.cjs.map +1 -0
- package/.dist/cjs/src/nodes/collection/interface.d.ts +43 -0
- package/.dist/cjs/src/nodes/collection/intersection.cjs +21 -0
- package/.dist/cjs/src/nodes/collection/intersection.cjs.map +1 -0
- package/.dist/cjs/src/nodes/collection/intersection.d.ts +9 -0
- package/.dist/cjs/src/nodes/collection/tuple.cjs +74 -0
- package/.dist/cjs/src/nodes/collection/tuple.cjs.map +1 -0
- package/.dist/cjs/src/nodes/collection/tuple.d.ts +18 -0
- package/.dist/cjs/src/nodes/collection/union.cjs +162 -0
- package/.dist/cjs/src/nodes/collection/union.cjs.map +1 -0
- package/.dist/cjs/src/nodes/collection/union.d.ts +19 -0
- package/.dist/cjs/src/nodes/collection/unionDiscriminator.cjs +198 -0
- package/.dist/cjs/src/nodes/collection/unionDiscriminator.cjs.map +1 -0
- package/.dist/cjs/src/nodes/collection/unionDiscriminator.d.ts +21 -0
- package/.dist/cjs/src/nodes/function/function.cjs +155 -0
- package/.dist/cjs/src/nodes/function/function.cjs.map +1 -0
- package/.dist/cjs/src/nodes/function/function.d.ts +33 -0
- package/.dist/cjs/src/nodes/member/array.cjs +154 -0
- package/.dist/cjs/src/nodes/member/array.cjs.map +1 -0
- package/.dist/cjs/src/nodes/member/array.d.ts +24 -0
- package/.dist/cjs/src/nodes/member/callSignature.cjs +40 -0
- package/.dist/cjs/src/nodes/member/callSignature.cjs.map +1 -0
- package/.dist/cjs/src/nodes/member/callSignature.d.ts +11 -0
- package/.dist/cjs/src/nodes/member/genericMember.cjs +68 -0
- package/.dist/cjs/src/nodes/member/genericMember.cjs.map +1 -0
- package/.dist/cjs/src/nodes/member/genericMember.d.ts +15 -0
- package/.dist/cjs/src/nodes/member/indexProperty.cjs +130 -0
- package/.dist/cjs/src/nodes/member/indexProperty.cjs.map +1 -0
- package/.dist/cjs/src/nodes/member/indexProperty.d.ts +21 -0
- package/.dist/cjs/src/nodes/member/method.cjs +41 -0
- package/.dist/cjs/src/nodes/member/method.cjs.map +1 -0
- package/.dist/cjs/src/nodes/member/method.d.ts +11 -0
- package/.dist/cjs/src/nodes/member/methodSignature.cjs +44 -0
- package/.dist/cjs/src/nodes/member/methodSignature.cjs.map +1 -0
- package/.dist/cjs/src/nodes/member/methodSignature.d.ts +12 -0
- package/.dist/cjs/src/nodes/member/param.cjs +17 -0
- package/.dist/cjs/src/nodes/member/param.cjs.map +1 -0
- package/.dist/cjs/src/nodes/member/param.d.ts +8 -0
- package/.dist/cjs/src/nodes/member/property.cjs +85 -0
- package/.dist/cjs/src/nodes/member/property.cjs.map +1 -0
- package/.dist/cjs/src/nodes/member/property.d.ts +19 -0
- package/.dist/cjs/src/nodes/member/restParams.cjs +15 -0
- package/.dist/cjs/src/nodes/member/restParams.cjs.map +1 -0
- package/.dist/cjs/src/nodes/member/restParams.d.ts +7 -0
- package/.dist/cjs/src/nodes/member/tupleMember.cjs +93 -0
- package/.dist/cjs/src/nodes/member/tupleMember.cjs.map +1 -0
- package/.dist/cjs/src/nodes/member/tupleMember.d.ts +20 -0
- package/.dist/cjs/src/nodes/native/Iterable.cjs +135 -0
- package/.dist/cjs/src/nodes/native/Iterable.cjs.map +1 -0
- package/.dist/cjs/src/nodes/native/Iterable.d.ts +18 -0
- package/.dist/cjs/src/nodes/native/map.cjs +96 -0
- package/.dist/cjs/src/nodes/native/map.cjs.map +1 -0
- package/.dist/cjs/src/nodes/native/map.d.ts +42 -0
- package/.dist/cjs/src/nodes/native/nonSerializable.cjs +36 -0
- package/.dist/cjs/src/nodes/native/nonSerializable.cjs.map +1 -0
- package/.dist/cjs/src/nodes/native/nonSerializable.d.ts +14 -0
- package/.dist/cjs/src/nodes/native/promise.cjs +38 -0
- package/.dist/cjs/src/nodes/native/promise.cjs.map +1 -0
- package/.dist/cjs/src/nodes/native/promise.d.ts +15 -0
- package/.dist/cjs/src/nodes/native/set.cjs +60 -0
- package/.dist/cjs/src/nodes/native/set.cjs.map +1 -0
- package/.dist/cjs/src/nodes/native/set.d.ts +30 -0
- package/.dist/cjs/src/run-types-pure-fns.cjs +112 -0
- package/.dist/cjs/src/run-types-pure-fns.cjs.map +1 -0
- package/.dist/cjs/src/run-types-pure-fns.d.ts +7 -0
- package/.dist/cjs/src/types.cjs +59 -0
- package/.dist/cjs/src/types.cjs.map +1 -0
- package/.dist/cjs/src/types.d.ts +152 -0
- package/.dist/esm/index.d.ts +60 -0
- package/.dist/esm/index.js +209 -0
- package/.dist/esm/index.js.map +1 -0
- package/.dist/esm/src/constants.d.ts +7 -0
- package/.dist/esm/src/constants.functions.d.ts +385 -0
- package/.dist/esm/src/constants.functions.js +181 -0
- package/.dist/esm/src/constants.functions.js.map +1 -0
- package/.dist/esm/src/constants.js +79 -0
- package/.dist/esm/src/constants.js.map +1 -0
- package/.dist/esm/src/constants.kind.d.ts +21 -0
- package/.dist/esm/src/constants.kind.js +74 -0
- package/.dist/esm/src/constants.kind.js.map +1 -0
- package/.dist/esm/src/createRunType.d.ts +5 -0
- package/.dist/esm/src/createRunType.js +284 -0
- package/.dist/esm/src/createRunType.js.map +1 -0
- package/.dist/esm/src/createRunTypeFunctions.d.ts +12 -0
- package/.dist/esm/src/createRunTypeFunctions.js +78 -0
- package/.dist/esm/src/createRunTypeFunctions.js.map +1 -0
- package/.dist/esm/src/formats.runtype.d.ts +6 -0
- package/.dist/esm/src/formats.runtype.js +7 -0
- package/.dist/esm/src/formats.runtype.js.map +1 -0
- package/.dist/esm/src/jitCompilers/binary/binarySpec/binaryHelpers.d.ts +30 -0
- package/.dist/esm/src/jitCompilers/binary/binarySpec/binaryHelpers.js +109 -0
- package/.dist/esm/src/jitCompilers/binary/binarySpec/binaryHelpers.js.map +1 -0
- package/.dist/esm/src/jitCompilers/binary/fromBinary.d.ts +7 -0
- package/.dist/esm/src/jitCompilers/binary/fromBinary.js +383 -0
- package/.dist/esm/src/jitCompilers/binary/fromBinary.js.map +1 -0
- package/.dist/esm/src/jitCompilers/binary/toBinary.d.ts +7 -0
- package/.dist/esm/src/jitCompilers/binary/toBinary.js +338 -0
- package/.dist/esm/src/jitCompilers/binary/toBinary.js.map +1 -0
- package/.dist/esm/src/jitCompilers/equalsHelpers.d.ts +4 -0
- package/.dist/esm/src/jitCompilers/equalsHelpers.js +37 -0
- package/.dist/esm/src/jitCompilers/equalsHelpers.js.map +1 -0
- package/.dist/esm/src/jitCompilers/json/jsonSpec/jsonHelpers.d.ts +27 -0
- package/.dist/esm/src/jitCompilers/json/jsonSpec/jsonHelpers.js +56 -0
- package/.dist/esm/src/jitCompilers/json/jsonSpec/jsonHelpers.js.map +1 -0
- package/.dist/esm/src/jitCompilers/json/stringifyJson.d.ts +10 -0
- package/.dist/esm/src/jitCompilers/json/stringifyJson.js +399 -0
- package/.dist/esm/src/jitCompilers/json/stringifyJson.js.map +1 -0
- package/.dist/esm/src/jitCompilers/json/stringifySpec/stringifyHelpers.d.ts +27 -0
- package/.dist/esm/src/jitCompilers/json/stringifySpec/stringifyHelpers.js +51 -0
- package/.dist/esm/src/jitCompilers/json/stringifySpec/stringifyHelpers.js.map +1 -0
- package/.dist/esm/src/jitCompilers/json/toJsCode.d.ts +5 -0
- package/.dist/esm/src/jitCompilers/json/toJsCode.js +123 -0
- package/.dist/esm/src/jitCompilers/json/toJsCode.js.map +1 -0
- package/.dist/esm/src/lib/baseRunTypeFormat.d.ts +50 -0
- package/.dist/esm/src/lib/baseRunTypeFormat.js +200 -0
- package/.dist/esm/src/lib/baseRunTypeFormat.js.map +1 -0
- package/.dist/esm/src/lib/baseRunTypes.d.ts +75 -0
- package/.dist/esm/src/lib/baseRunTypes.js +308 -0
- package/.dist/esm/src/lib/baseRunTypes.js.map +1 -0
- package/.dist/esm/src/lib/createJitFunction.d.ts +5 -0
- package/.dist/esm/src/lib/createJitFunction.js +60 -0
- package/.dist/esm/src/lib/createJitFunction.js.map +1 -0
- package/.dist/esm/src/lib/dkProxy.d.ts +4 -0
- package/.dist/esm/src/lib/dkProxy.js +23 -0
- package/.dist/esm/src/lib/dkProxy.js.map +1 -0
- package/.dist/esm/src/lib/formats.d.ts +18 -0
- package/.dist/esm/src/lib/formats.js +89 -0
- package/.dist/esm/src/lib/formats.js.map +1 -0
- package/.dist/esm/src/lib/guards.d.ts +120 -0
- package/.dist/esm/src/lib/guards.js +243 -0
- package/.dist/esm/src/lib/guards.js.map +1 -0
- package/.dist/esm/src/lib/jitFnCompiler.d.ts +109 -0
- package/.dist/esm/src/lib/jitFnCompiler.js +648 -0
- package/.dist/esm/src/lib/jitFnCompiler.js.map +1 -0
- package/.dist/esm/src/lib/jitFnsRegistry.d.ts +6 -0
- package/.dist/esm/src/lib/jitFnsRegistry.js +41 -0
- package/.dist/esm/src/lib/jitFnsRegistry.js.map +1 -0
- package/.dist/esm/src/lib/typeId.d.ts +6 -0
- package/.dist/esm/src/lib/typeId.js +205 -0
- package/.dist/esm/src/lib/typeId.js.map +1 -0
- package/.dist/esm/src/lib/utils.d.ts +32 -0
- package/.dist/esm/src/lib/utils.js +325 -0
- package/.dist/esm/src/lib/utils.js.map +1 -0
- package/.dist/esm/src/mocking/constants.mock.d.ts +85 -0
- package/.dist/esm/src/mocking/constants.mock.js +108 -0
- package/.dist/esm/src/mocking/constants.mock.js.map +1 -0
- package/.dist/esm/src/mocking/mockRegistry.d.ts +3 -0
- package/.dist/esm/src/mocking/mockRegistry.js +12 -0
- package/.dist/esm/src/mocking/mockRegistry.js.map +1 -0
- package/.dist/esm/src/mocking/mockType.d.ts +3 -0
- package/.dist/esm/src/mocking/mockType.js +310 -0
- package/.dist/esm/src/mocking/mockType.js.map +1 -0
- package/.dist/esm/src/mocking/mockUtils.d.ts +15 -0
- package/.dist/esm/src/mocking/mockUtils.js +62 -0
- package/.dist/esm/src/mocking/mockUtils.js.map +1 -0
- package/.dist/esm/src/nodes/atomic/any.d.ts +8 -0
- package/.dist/esm/src/nodes/atomic/any.js +18 -0
- package/.dist/esm/src/nodes/atomic/any.js.map +1 -0
- package/.dist/esm/src/nodes/atomic/bigInt.d.ts +10 -0
- package/.dist/esm/src/nodes/atomic/bigInt.js +20 -0
- package/.dist/esm/src/nodes/atomic/bigInt.js.map +1 -0
- package/.dist/esm/src/nodes/atomic/boolean.d.ts +10 -0
- package/.dist/esm/src/nodes/atomic/boolean.js +20 -0
- package/.dist/esm/src/nodes/atomic/boolean.js.map +1 -0
- package/.dist/esm/src/nodes/atomic/date.d.ts +10 -0
- package/.dist/esm/src/nodes/atomic/date.js +20 -0
- package/.dist/esm/src/nodes/atomic/date.js.map +1 -0
- package/.dist/esm/src/nodes/atomic/enum.d.ts +8 -0
- package/.dist/esm/src/nodes/atomic/enum.js +22 -0
- package/.dist/esm/src/nodes/atomic/enum.js.map +1 -0
- package/.dist/esm/src/nodes/atomic/enumMember.d.ts +10 -0
- package/.dist/esm/src/nodes/atomic/enumMember.js +24 -0
- package/.dist/esm/src/nodes/atomic/enumMember.js.map +1 -0
- package/.dist/esm/src/nodes/atomic/literal.d.ts +20 -0
- package/.dist/esm/src/nodes/atomic/literal.js +126 -0
- package/.dist/esm/src/nodes/atomic/literal.js.map +1 -0
- package/.dist/esm/src/nodes/atomic/never.d.ts +10 -0
- package/.dist/esm/src/nodes/atomic/never.js +22 -0
- package/.dist/esm/src/nodes/atomic/never.js.map +1 -0
- package/.dist/esm/src/nodes/atomic/null.d.ts +10 -0
- package/.dist/esm/src/nodes/atomic/null.js +20 -0
- package/.dist/esm/src/nodes/atomic/null.js.map +1 -0
- package/.dist/esm/src/nodes/atomic/number.d.ts +10 -0
- package/.dist/esm/src/nodes/atomic/number.js +20 -0
- package/.dist/esm/src/nodes/atomic/number.js.map +1 -0
- package/.dist/esm/src/nodes/atomic/object.d.ts +8 -0
- package/.dist/esm/src/nodes/atomic/object.js +14 -0
- package/.dist/esm/src/nodes/atomic/object.js.map +1 -0
- package/.dist/esm/src/nodes/atomic/regexp.d.ts +10 -0
- package/.dist/esm/src/nodes/atomic/regexp.js +23 -0
- package/.dist/esm/src/nodes/atomic/regexp.js.map +1 -0
- package/.dist/esm/src/nodes/atomic/string.d.ts +8 -0
- package/.dist/esm/src/nodes/atomic/string.js +14 -0
- package/.dist/esm/src/nodes/atomic/string.js.map +1 -0
- package/.dist/esm/src/nodes/atomic/symbol.d.ts +11 -0
- package/.dist/esm/src/nodes/atomic/symbol.js +26 -0
- package/.dist/esm/src/nodes/atomic/symbol.js.map +1 -0
- package/.dist/esm/src/nodes/atomic/undefined.d.ts +9 -0
- package/.dist/esm/src/nodes/atomic/undefined.js +17 -0
- package/.dist/esm/src/nodes/atomic/undefined.js.map +1 -0
- package/.dist/esm/src/nodes/atomic/unknown.d.ts +3 -0
- package/.dist/esm/src/nodes/atomic/unknown.js +8 -0
- package/.dist/esm/src/nodes/atomic/unknown.js.map +1 -0
- package/.dist/esm/src/nodes/atomic/void.d.ts +10 -0
- package/.dist/esm/src/nodes/atomic/void.js +20 -0
- package/.dist/esm/src/nodes/atomic/void.js.map +1 -0
- package/.dist/esm/src/nodes/collection/class.d.ts +9 -0
- package/.dist/esm/src/nodes/collection/class.js +38 -0
- package/.dist/esm/src/nodes/collection/class.js.map +1 -0
- package/.dist/esm/src/nodes/collection/functionParams.d.ts +9 -0
- package/.dist/esm/src/nodes/collection/functionParams.js +33 -0
- package/.dist/esm/src/nodes/collection/functionParams.js.map +1 -0
- package/.dist/esm/src/nodes/collection/interface.d.ts +43 -0
- package/.dist/esm/src/nodes/collection/interface.js +221 -0
- package/.dist/esm/src/nodes/collection/interface.js.map +1 -0
- package/.dist/esm/src/nodes/collection/intersection.d.ts +9 -0
- package/.dist/esm/src/nodes/collection/intersection.js +21 -0
- package/.dist/esm/src/nodes/collection/intersection.js.map +1 -0
- package/.dist/esm/src/nodes/collection/tuple.d.ts +18 -0
- package/.dist/esm/src/nodes/collection/tuple.js +74 -0
- package/.dist/esm/src/nodes/collection/tuple.js.map +1 -0
- package/.dist/esm/src/nodes/collection/union.d.ts +19 -0
- package/.dist/esm/src/nodes/collection/union.js +162 -0
- package/.dist/esm/src/nodes/collection/union.js.map +1 -0
- package/.dist/esm/src/nodes/collection/unionDiscriminator.d.ts +21 -0
- package/.dist/esm/src/nodes/collection/unionDiscriminator.js +198 -0
- package/.dist/esm/src/nodes/collection/unionDiscriminator.js.map +1 -0
- package/.dist/esm/src/nodes/function/function.d.ts +33 -0
- package/.dist/esm/src/nodes/function/function.js +155 -0
- package/.dist/esm/src/nodes/function/function.js.map +1 -0
- package/.dist/esm/src/nodes/member/array.d.ts +24 -0
- package/.dist/esm/src/nodes/member/array.js +154 -0
- package/.dist/esm/src/nodes/member/array.js.map +1 -0
- package/.dist/esm/src/nodes/member/callSignature.d.ts +11 -0
- package/.dist/esm/src/nodes/member/callSignature.js +40 -0
- package/.dist/esm/src/nodes/member/callSignature.js.map +1 -0
- package/.dist/esm/src/nodes/member/genericMember.d.ts +15 -0
- package/.dist/esm/src/nodes/member/genericMember.js +68 -0
- package/.dist/esm/src/nodes/member/genericMember.js.map +1 -0
- package/.dist/esm/src/nodes/member/indexProperty.d.ts +21 -0
- package/.dist/esm/src/nodes/member/indexProperty.js +130 -0
- package/.dist/esm/src/nodes/member/indexProperty.js.map +1 -0
- package/.dist/esm/src/nodes/member/method.d.ts +11 -0
- package/.dist/esm/src/nodes/member/method.js +41 -0
- package/.dist/esm/src/nodes/member/method.js.map +1 -0
- package/.dist/esm/src/nodes/member/methodSignature.d.ts +12 -0
- package/.dist/esm/src/nodes/member/methodSignature.js +44 -0
- package/.dist/esm/src/nodes/member/methodSignature.js.map +1 -0
- package/.dist/esm/src/nodes/member/param.d.ts +8 -0
- package/.dist/esm/src/nodes/member/param.js +17 -0
- package/.dist/esm/src/nodes/member/param.js.map +1 -0
- package/.dist/esm/src/nodes/member/property.d.ts +19 -0
- package/.dist/esm/src/nodes/member/property.js +85 -0
- package/.dist/esm/src/nodes/member/property.js.map +1 -0
- package/.dist/esm/src/nodes/member/restParams.d.ts +7 -0
- package/.dist/esm/src/nodes/member/restParams.js +15 -0
- package/.dist/esm/src/nodes/member/restParams.js.map +1 -0
- package/.dist/esm/src/nodes/member/tupleMember.d.ts +20 -0
- package/.dist/esm/src/nodes/member/tupleMember.js +93 -0
- package/.dist/esm/src/nodes/member/tupleMember.js.map +1 -0
- package/.dist/esm/src/nodes/native/Iterable.d.ts +18 -0
- package/.dist/esm/src/nodes/native/Iterable.js +135 -0
- package/.dist/esm/src/nodes/native/Iterable.js.map +1 -0
- package/.dist/esm/src/nodes/native/map.d.ts +42 -0
- package/.dist/esm/src/nodes/native/map.js +96 -0
- package/.dist/esm/src/nodes/native/map.js.map +1 -0
- package/.dist/esm/src/nodes/native/nonSerializable.d.ts +14 -0
- package/.dist/esm/src/nodes/native/nonSerializable.js +36 -0
- package/.dist/esm/src/nodes/native/nonSerializable.js.map +1 -0
- package/.dist/esm/src/nodes/native/promise.d.ts +15 -0
- package/.dist/esm/src/nodes/native/promise.js +38 -0
- package/.dist/esm/src/nodes/native/promise.js.map +1 -0
- package/.dist/esm/src/nodes/native/set.d.ts +30 -0
- package/.dist/esm/src/nodes/native/set.js +60 -0
- package/.dist/esm/src/nodes/native/set.js.map +1 -0
- package/.dist/esm/src/run-types-pure-fns.d.ts +7 -0
- package/.dist/esm/src/run-types-pure-fns.js +112 -0
- package/.dist/esm/src/run-types-pure-fns.js.map +1 -0
- package/.dist/esm/src/types.d.ts +152 -0
- package/.dist/esm/src/types.js +59 -0
- package/.dist/esm/src/types.js.map +1 -0
- package/LICENSE +21 -0
- package/README.md +32 -0
- package/package.json +66 -0
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const type = require("@deepkit/type");
|
|
4
|
+
const src_lib_guards = require("./lib/guards.cjs");
|
|
5
|
+
const src_nodes_atomic_string = require("./nodes/atomic/string.cjs");
|
|
6
|
+
const src_nodes_atomic_date = require("./nodes/atomic/date.cjs");
|
|
7
|
+
const src_nodes_atomic_number = require("./nodes/atomic/number.cjs");
|
|
8
|
+
const src_nodes_atomic_boolean = require("./nodes/atomic/boolean.cjs");
|
|
9
|
+
const src_nodes_atomic_null = require("./nodes/atomic/null.cjs");
|
|
10
|
+
const src_nodes_atomic_bigInt = require("./nodes/atomic/bigInt.cjs");
|
|
11
|
+
const src_nodes_atomic_any = require("./nodes/atomic/any.cjs");
|
|
12
|
+
const src_nodes_atomic_undefined = require("./nodes/atomic/undefined.cjs");
|
|
13
|
+
const src_nodes_atomic_unknown = require("./nodes/atomic/unknown.cjs");
|
|
14
|
+
const src_nodes_atomic_void = require("./nodes/atomic/void.cjs");
|
|
15
|
+
const src_nodes_member_array = require("./nodes/member/array.cjs");
|
|
16
|
+
const src_nodes_atomic_literal = require("./nodes/atomic/literal.cjs");
|
|
17
|
+
const src_nodes_atomic_regexp = require("./nodes/atomic/regexp.cjs");
|
|
18
|
+
const src_nodes_atomic_never = require("./nodes/atomic/never.cjs");
|
|
19
|
+
const src_nodes_atomic_enum = require("./nodes/atomic/enum.cjs");
|
|
20
|
+
const src_nodes_atomic_enumMember = require("./nodes/atomic/enumMember.cjs");
|
|
21
|
+
const src_nodes_collection_union = require("./nodes/collection/union.cjs");
|
|
22
|
+
const src_nodes_collection_tuple = require("./nodes/collection/tuple.cjs");
|
|
23
|
+
const src_nodes_collection_functionParams = require("./nodes/collection/functionParams.cjs");
|
|
24
|
+
const src_nodes_member_tupleMember = require("./nodes/member/tupleMember.cjs");
|
|
25
|
+
const src_nodes_collection_interface = require("./nodes/collection/interface.cjs");
|
|
26
|
+
const src_nodes_member_property = require("./nodes/member/property.cjs");
|
|
27
|
+
const src_nodes_member_indexProperty = require("./nodes/member/indexProperty.cjs");
|
|
28
|
+
const src_nodes_member_methodSignature = require("./nodes/member/methodSignature.cjs");
|
|
29
|
+
const src_nodes_member_callSignature = require("./nodes/member/callSignature.cjs");
|
|
30
|
+
const src_nodes_function_function = require("./nodes/function/function.cjs");
|
|
31
|
+
const src_nodes_native_promise = require("./nodes/native/promise.cjs");
|
|
32
|
+
const src_nodes_atomic_object = require("./nodes/atomic/object.cjs");
|
|
33
|
+
const src_nodes_collection_intersection = require("./nodes/collection/intersection.cjs");
|
|
34
|
+
const src_nodes_member_param = require("./nodes/member/param.cjs");
|
|
35
|
+
const src_nodes_member_method = require("./nodes/member/method.cjs");
|
|
36
|
+
const src_nodes_member_restParams = require("./nodes/member/restParams.cjs");
|
|
37
|
+
const src_nodes_collection_class = require("./nodes/collection/class.cjs");
|
|
38
|
+
const src_nodes_native_map = require("./nodes/native/map.cjs");
|
|
39
|
+
const src_constants_kind = require("./constants.kind.cjs");
|
|
40
|
+
const src_nodes_native_set = require("./nodes/native/set.cjs");
|
|
41
|
+
const src_nodes_atomic_symbol = require("./nodes/atomic/symbol.cjs");
|
|
42
|
+
const src_nodes_native_nonSerializable = require("./nodes/native/nonSerializable.cjs");
|
|
43
|
+
const core = require("@mionjs/core");
|
|
44
|
+
function __assignType(fn, args) {
|
|
45
|
+
fn.__type = args;
|
|
46
|
+
return fn;
|
|
47
|
+
}
|
|
48
|
+
function runType(type$1 = runType.Ω?.[0]) {
|
|
49
|
+
runType.Ω = void 0;
|
|
50
|
+
const start = Date.now();
|
|
51
|
+
const src = type.resolveReceiveType(type$1);
|
|
52
|
+
const took0 = Date.now() - start;
|
|
53
|
+
createRunTypes(src);
|
|
54
|
+
const took1 = Date.now() - start;
|
|
55
|
+
const diff = took1 - took0;
|
|
56
|
+
if (diff > 60)
|
|
57
|
+
console.warn(`RunType overhead is very long: ${diff}ms for ${type.stringifyType(src)}`);
|
|
58
|
+
return src._rt;
|
|
59
|
+
}
|
|
60
|
+
runType.__type = [() => type.__ΩReceiveType, "type", "RunType", "runType", 'P"o!"2"8"w#/$'];
|
|
61
|
+
function reflectFunction(fn) {
|
|
62
|
+
const src = type.reflect(fn);
|
|
63
|
+
runType(src);
|
|
64
|
+
return src._rt;
|
|
65
|
+
}
|
|
66
|
+
reflectFunction.__type = ["fn", () => src_nodes_function_function.FunctionRunType, "reflectFunction", 'P"2!P7"/#'];
|
|
67
|
+
function createRunTypes(src) {
|
|
68
|
+
core.registerErrorDeserializers();
|
|
69
|
+
const stack = [src];
|
|
70
|
+
while (stack.length > 0) {
|
|
71
|
+
const current = stack.pop();
|
|
72
|
+
if (!current || current._rt)
|
|
73
|
+
continue;
|
|
74
|
+
try {
|
|
75
|
+
createRunType(current);
|
|
76
|
+
} catch (error) {
|
|
77
|
+
const typesStackMessage = "\nTypes Stack: " + stack.map(__assignType((t) => t.typeName || t.kind, ["t", "", 'P"2!"/"'])).join(", ");
|
|
78
|
+
error.message += typesStackMessage;
|
|
79
|
+
throw error;
|
|
80
|
+
}
|
|
81
|
+
if (src_lib_guards.hasType(current))
|
|
82
|
+
stack.push(current.type);
|
|
83
|
+
if (src_lib_guards.hasReturn(current))
|
|
84
|
+
stack.push(current.return);
|
|
85
|
+
if (src_lib_guards.hasIndexType(current))
|
|
86
|
+
stack.push(current.indexType);
|
|
87
|
+
if (current.origin)
|
|
88
|
+
stack.push(current.origin);
|
|
89
|
+
if (current.indexAccessOrigin?.index)
|
|
90
|
+
stack.push(current.indexAccessOrigin?.index);
|
|
91
|
+
if (current.indexAccessOrigin?.container)
|
|
92
|
+
stack.push(current.indexAccessOrigin?.container);
|
|
93
|
+
if (src_lib_guards.hasTypes(current))
|
|
94
|
+
pushToStack(current.types, stack);
|
|
95
|
+
if (src_lib_guards.hasParameters(current))
|
|
96
|
+
pushToStack(current.parameters, stack);
|
|
97
|
+
if (src_lib_guards.hasArguments(current))
|
|
98
|
+
pushToStack(current.arguments, stack);
|
|
99
|
+
if (src_lib_guards.hasExtendsArguments(current))
|
|
100
|
+
pushToStack(current.extendsArguments, stack);
|
|
101
|
+
if (src_lib_guards.hasImplements(current))
|
|
102
|
+
pushToStack(current.implements, stack);
|
|
103
|
+
if (current.typeArguments)
|
|
104
|
+
pushToStack(current.typeArguments, stack);
|
|
105
|
+
if (current.decorators)
|
|
106
|
+
pushToStack(current.decorators, stack);
|
|
107
|
+
if (current.scheduleDecorators)
|
|
108
|
+
pushToStack(current.scheduleDecorators, stack);
|
|
109
|
+
if (current.annotations) {
|
|
110
|
+
const annotations = type.typeAnnotation.getAnnotations(current);
|
|
111
|
+
for (const annotation of annotations)
|
|
112
|
+
stack.push(annotation.options);
|
|
113
|
+
}
|
|
114
|
+
current.originTypes?.forEach(__assignType((ot) => {
|
|
115
|
+
if (ot.typeArguments)
|
|
116
|
+
pushToStack(ot.typeArguments, stack);
|
|
117
|
+
}, ["ot", "", 'P"2!"/"']));
|
|
118
|
+
if (current.parent && !current.parent?._rt)
|
|
119
|
+
stack.push(current.parent);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
createRunTypes.__type = ["SrcType", "src", "createRunTypes", 'P"w!2"$/#'];
|
|
123
|
+
function pushToStack(subTypes, stack) {
|
|
124
|
+
if (Array.isArray(subTypes))
|
|
125
|
+
stack.push(...subTypes);
|
|
126
|
+
}
|
|
127
|
+
pushToStack.__type = ["Type", "subTypes", "stack", "pushToStack", 'P"w!F2""w!F2#"/$'];
|
|
128
|
+
function createRunType(deepkitType) {
|
|
129
|
+
const existingType = deepkitType._rt;
|
|
130
|
+
if (existingType)
|
|
131
|
+
return existingType;
|
|
132
|
+
let rt;
|
|
133
|
+
switch (deepkitType.kind) {
|
|
134
|
+
// ###################### ATOMIC RUNTYPES ######################
|
|
135
|
+
// Primitive types and other atomic types that don't contain other types
|
|
136
|
+
case type.ReflectionKind.any:
|
|
137
|
+
rt = new src_nodes_atomic_any.AnyRunType();
|
|
138
|
+
break;
|
|
139
|
+
case type.ReflectionKind.bigint:
|
|
140
|
+
rt = new src_nodes_atomic_bigInt.BigIntRunType();
|
|
141
|
+
break;
|
|
142
|
+
case type.ReflectionKind.boolean:
|
|
143
|
+
rt = new src_nodes_atomic_boolean.BooleanRunType();
|
|
144
|
+
break;
|
|
145
|
+
case type.ReflectionKind.enum:
|
|
146
|
+
rt = new src_nodes_atomic_enum.EnumRunType();
|
|
147
|
+
break;
|
|
148
|
+
case type.ReflectionKind.enumMember:
|
|
149
|
+
rt = new src_nodes_atomic_enumMember.EnumMemberRunType();
|
|
150
|
+
break;
|
|
151
|
+
case type.ReflectionKind.literal:
|
|
152
|
+
rt = new src_nodes_atomic_literal.LiteralRunType();
|
|
153
|
+
break;
|
|
154
|
+
case type.ReflectionKind.never:
|
|
155
|
+
rt = src_lib_guards.isNativeUtilityStringTypes(deepkitType) ? new src_nodes_atomic_string.StringRunType() : new src_nodes_atomic_never.NeverRunType();
|
|
156
|
+
break;
|
|
157
|
+
case type.ReflectionKind.null:
|
|
158
|
+
rt = new src_nodes_atomic_null.NullRunType();
|
|
159
|
+
break;
|
|
160
|
+
case type.ReflectionKind.number:
|
|
161
|
+
rt = new src_nodes_atomic_number.NumberRunType();
|
|
162
|
+
break;
|
|
163
|
+
case type.ReflectionKind.object:
|
|
164
|
+
rt = new src_nodes_atomic_object.ObjectRunType();
|
|
165
|
+
break;
|
|
166
|
+
case type.ReflectionKind.regexp:
|
|
167
|
+
rt = new src_nodes_atomic_regexp.RegexpRunType();
|
|
168
|
+
break;
|
|
169
|
+
case type.ReflectionKind.string:
|
|
170
|
+
rt = new src_nodes_atomic_string.StringRunType();
|
|
171
|
+
break;
|
|
172
|
+
case type.ReflectionKind.symbol:
|
|
173
|
+
rt = new src_nodes_atomic_symbol.SymbolRunType();
|
|
174
|
+
break;
|
|
175
|
+
case type.ReflectionKind.templateLiteral:
|
|
176
|
+
throw new Error("Template Literals are resolved by the compiler to Literals ie: const tl = `${string}World`. Template literal types are not supported. ie type TL = `${string}World`");
|
|
177
|
+
case type.ReflectionKind.undefined:
|
|
178
|
+
rt = new src_nodes_atomic_undefined.UndefinedRunType();
|
|
179
|
+
break;
|
|
180
|
+
case type.ReflectionKind.unknown:
|
|
181
|
+
rt = new src_nodes_atomic_unknown.UnknownRunType();
|
|
182
|
+
break;
|
|
183
|
+
case type.ReflectionKind.void:
|
|
184
|
+
rt = new src_nodes_atomic_void.VoidRunType();
|
|
185
|
+
break;
|
|
186
|
+
// ###################### MEMBER RUNTYPES ######################
|
|
187
|
+
// Types that represent members of collections or other structures
|
|
188
|
+
case type.ReflectionKind.array:
|
|
189
|
+
rt = new src_nodes_member_array.ArrayRunType();
|
|
190
|
+
break;
|
|
191
|
+
case type.ReflectionKind.callSignature:
|
|
192
|
+
rt = new src_nodes_member_callSignature.CallSignatureRunType();
|
|
193
|
+
break;
|
|
194
|
+
case type.ReflectionKind.function:
|
|
195
|
+
if (deepkitType.subKind === src_constants_kind.ReflectionSubKind.params) {
|
|
196
|
+
rt = new src_nodes_collection_functionParams.FunctionParamsRunType();
|
|
197
|
+
} else {
|
|
198
|
+
const frt = new src_nodes_function_function.FunctionRunType();
|
|
199
|
+
frt.parameterRunTypes.src = deepkitType;
|
|
200
|
+
rt = frt;
|
|
201
|
+
}
|
|
202
|
+
break;
|
|
203
|
+
case type.ReflectionKind.indexSignature:
|
|
204
|
+
rt = new src_nodes_member_indexProperty.IndexSignatureRunType();
|
|
205
|
+
break;
|
|
206
|
+
case type.ReflectionKind.method:
|
|
207
|
+
rt = new src_nodes_member_method.MethodRunType();
|
|
208
|
+
break;
|
|
209
|
+
case type.ReflectionKind.methodSignature:
|
|
210
|
+
rt = new src_nodes_member_methodSignature.MethodSignatureRunType();
|
|
211
|
+
break;
|
|
212
|
+
case type.ReflectionKind.parameter:
|
|
213
|
+
rt = new src_nodes_member_param.ParameterRunType();
|
|
214
|
+
break;
|
|
215
|
+
case type.ReflectionKind.property:
|
|
216
|
+
case type.ReflectionKind.propertySignature:
|
|
217
|
+
rt = new src_nodes_member_property.PropertyRunType();
|
|
218
|
+
break;
|
|
219
|
+
case type.ReflectionKind.rest:
|
|
220
|
+
rt = new src_nodes_member_restParams.RestParamsRunType();
|
|
221
|
+
break;
|
|
222
|
+
case type.ReflectionKind.tupleMember:
|
|
223
|
+
rt = new src_nodes_member_tupleMember.TupleMemberRunType();
|
|
224
|
+
break;
|
|
225
|
+
case type.ReflectionKind.promise:
|
|
226
|
+
rt = new src_nodes_native_promise.PromiseRunType();
|
|
227
|
+
break;
|
|
228
|
+
// ###################### COLLECTION RUNTYPES ######################
|
|
229
|
+
case type.ReflectionKind.objectLiteral:
|
|
230
|
+
if (src_lib_guards.isNonSerializableObject(deepkitType)) {
|
|
231
|
+
rt = new src_nodes_native_nonSerializable.NonSerializableRunType();
|
|
232
|
+
} else {
|
|
233
|
+
rt = new src_nodes_collection_interface.InterfaceRunType();
|
|
234
|
+
}
|
|
235
|
+
break;
|
|
236
|
+
case type.ReflectionKind.class:
|
|
237
|
+
rt = initClassRunType(deepkitType);
|
|
238
|
+
break;
|
|
239
|
+
// Types that contain other types as members
|
|
240
|
+
case type.ReflectionKind.infer:
|
|
241
|
+
throw new Error("Infer type not supported, ie: type MyType =Type<T> = T extends (...args: any[]) => infer R ? R : any; https://www.typescriptlang.org/docs/handbook/2/conditional-types.html");
|
|
242
|
+
case type.ReflectionKind.intersection:
|
|
243
|
+
rt = new src_nodes_collection_intersection.IntersectionRunType();
|
|
244
|
+
break;
|
|
245
|
+
case type.ReflectionKind.tuple:
|
|
246
|
+
rt = new src_nodes_collection_tuple.TupleRunType();
|
|
247
|
+
break;
|
|
248
|
+
case type.ReflectionKind.typeParameter:
|
|
249
|
+
throw new Error('TypeParameter not implemented. Type parameters are the generic placeholders in type definitions (e.g., T in Array<T>, ErrType in TypedError<ErrType>). Type parameters are typically resolved during type instantiation and should not appear in runtime type checking.This error is typically caused by a generic type missing type arguments, e.g.: TypedError instead of TypedError<"my-error">.');
|
|
250
|
+
// rType = resolveTypeParameter(deepkitType, opts, mapper);
|
|
251
|
+
case type.ReflectionKind.union:
|
|
252
|
+
rt = new src_nodes_collection_union.UnionRunType();
|
|
253
|
+
break;
|
|
254
|
+
default:
|
|
255
|
+
rt = new src_nodes_atomic_any.AnyRunType();
|
|
256
|
+
break;
|
|
257
|
+
}
|
|
258
|
+
rt.onCreated(deepkitType);
|
|
259
|
+
return rt;
|
|
260
|
+
}
|
|
261
|
+
createRunType.__type = ["Mutable", "deepkitType", "RunType", "createRunType", 'P"w!2""w#/$'];
|
|
262
|
+
function initClassRunType(src) {
|
|
263
|
+
switch (src.classType) {
|
|
264
|
+
case Date:
|
|
265
|
+
src.subKind = src_constants_kind.ReflectionSubKind.date;
|
|
266
|
+
return new src_nodes_atomic_date.DateRunType();
|
|
267
|
+
case Map:
|
|
268
|
+
src.subKind = src_constants_kind.ReflectionSubKind.map;
|
|
269
|
+
return new src_nodes_native_map.MapRunType();
|
|
270
|
+
case Set:
|
|
271
|
+
src.subKind = src_constants_kind.ReflectionSubKind.set;
|
|
272
|
+
return new src_nodes_native_set.SetRunType();
|
|
273
|
+
default:
|
|
274
|
+
if (src_lib_guards.isNonSerializableClass(src)) {
|
|
275
|
+
src.subKind = src_constants_kind.ReflectionSubKind.nonSerializable;
|
|
276
|
+
return new src_nodes_native_nonSerializable.NonSerializableRunType();
|
|
277
|
+
}
|
|
278
|
+
return new src_nodes_collection_class.ClassRunType();
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
initClassRunType.__type = ["TypeClass", "subKind", "src", "BaseRunType", "initClassRunType", `PP"w!P'4"8MK2#"w$/%`];
|
|
282
|
+
exports.reflectFunction = reflectFunction;
|
|
283
|
+
exports.runType = runType;
|
|
284
|
+
//# sourceMappingURL=createRunType.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createRunType.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { RunType } from './types.ts';
|
|
2
|
+
import { ReceiveType } from '@deepkit/type';
|
|
3
|
+
import { FunctionRunType } from './nodes/function/function.ts';
|
|
4
|
+
export declare function runType<T>(type?: ReceiveType<T>): RunType;
|
|
5
|
+
export declare function reflectFunction<Fn extends (...args: any[]) => any>(fn: Fn): FunctionRunType;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const src_constants_functions = require("./constants.functions.cjs");
|
|
4
|
+
const type = require("@deepkit/type");
|
|
5
|
+
const src_createRunType = require("./createRunType.cjs");
|
|
6
|
+
const src_types = require("./types.cjs");
|
|
7
|
+
const core = require("@mionjs/core");
|
|
8
|
+
const src_lib_jitFnsRegistry = require("./lib/jitFnsRegistry.cjs");
|
|
9
|
+
const __ΩPartial = ["T", "Partial", 'l+e#!e"!fRb!Pde"!gN#"w"y'];
|
|
10
|
+
function __assignType(fn, args) {
|
|
11
|
+
fn.__type = args;
|
|
12
|
+
return fn;
|
|
13
|
+
}
|
|
14
|
+
async function createIsTypeFn(opts, type2 = createIsTypeFn.Ω?.[0]) {
|
|
15
|
+
createIsTypeFn.Ω = void 0;
|
|
16
|
+
const rt = src_createRunType.runType(type2);
|
|
17
|
+
return rt.createJitFunction(src_constants_functions.JitFunctions.isType, opts);
|
|
18
|
+
}
|
|
19
|
+
createIsTypeFn.__type = [() => src_types.__ΩRunTypeOptions, "opts", () => type.__ΩReceiveType, "type", () => core.__ΩIsTypeFn, "createIsTypeFn", 'Pn!2"8"o#"2$8n%`/&'];
|
|
20
|
+
async function createTypeErrorsFn(opts, type2 = createTypeErrorsFn.Ω?.[0]) {
|
|
21
|
+
createTypeErrorsFn.Ω = void 0;
|
|
22
|
+
const rt = src_createRunType.runType(type2);
|
|
23
|
+
return rt.createJitFunction(src_constants_functions.JitFunctions.typeErrors, opts);
|
|
24
|
+
}
|
|
25
|
+
createTypeErrorsFn.__type = [() => src_types.__ΩRunTypeOptions, "opts", () => type.__ΩReceiveType, "type", () => core.__ΩTypeErrorsFn, "createTypeErrorsFn", 'Pn!2"8"o#"2$8n%`/&'];
|
|
26
|
+
async function createPrepareForJsonFn(opts, type2 = createPrepareForJsonFn.Ω?.[0]) {
|
|
27
|
+
createPrepareForJsonFn.Ω = void 0;
|
|
28
|
+
const rt = src_createRunType.runType(type2);
|
|
29
|
+
return rt.createJitFunction(src_constants_functions.JitFunctions.prepareForJson, opts);
|
|
30
|
+
}
|
|
31
|
+
createPrepareForJsonFn.__type = [() => src_types.__ΩRunTypeOptions, "opts", () => type.__ΩReceiveType, "type", () => core.__ΩPrepareForJsonFn, "createPrepareForJsonFn", 'Pn!2"8"o#"2$8n%`/&'];
|
|
32
|
+
async function createRestoreFromJsonFn(opts, type2 = createRestoreFromJsonFn.Ω?.[0]) {
|
|
33
|
+
createRestoreFromJsonFn.Ω = void 0;
|
|
34
|
+
const rt = src_createRunType.runType(type2);
|
|
35
|
+
return rt.createJitFunction(src_constants_functions.JitFunctions.restoreFromJson, opts);
|
|
36
|
+
}
|
|
37
|
+
createRestoreFromJsonFn.__type = [() => src_types.__ΩRunTypeOptions, "opts", () => type.__ΩReceiveType, "type", () => core.__ΩRestoreFromJsonFn, "createRestoreFromJsonFn", 'Pn!2"8"o#"2$8n%`/&'];
|
|
38
|
+
async function createStringifyJsonFn(opts, type2 = createStringifyJsonFn.Ω?.[0]) {
|
|
39
|
+
createStringifyJsonFn.Ω = void 0;
|
|
40
|
+
const rt = src_createRunType.runType(type2);
|
|
41
|
+
return rt.createJitFunction(src_constants_functions.JitFunctions.stringifyJson, opts);
|
|
42
|
+
}
|
|
43
|
+
createStringifyJsonFn.__type = [() => src_types.__ΩRunTypeOptions, "opts", () => type.__ΩReceiveType, "type", () => core.__ΩJsonStringifyFn, "createStringifyJsonFn", 'Pn!2"8"o#"2$8n%`/&'];
|
|
44
|
+
async function createToBinaryFn(opts, type2 = createToBinaryFn.Ω?.[0]) {
|
|
45
|
+
createToBinaryFn.Ω = void 0;
|
|
46
|
+
const rt = src_createRunType.runType(type2);
|
|
47
|
+
return rt.createJitFunction(src_constants_functions.JitFunctions.toBinary, opts);
|
|
48
|
+
}
|
|
49
|
+
createToBinaryFn.__type = [() => src_types.__ΩRunTypeOptions, "opts", () => type.__ΩReceiveType, "type", () => core.__ΩToBinaryFn, "createToBinaryFn", 'Pn!2"8"o#"2$8n%`/&'];
|
|
50
|
+
async function createFromBinaryFn(opts, type2 = createFromBinaryFn.Ω?.[0]) {
|
|
51
|
+
createFromBinaryFn.Ω = void 0;
|
|
52
|
+
const rt = src_createRunType.runType(type2);
|
|
53
|
+
return rt.createJitFunction(src_constants_functions.JitFunctions.fromBinary, opts);
|
|
54
|
+
}
|
|
55
|
+
createFromBinaryFn.__type = [() => src_types.__ΩRunTypeOptions, "opts", () => type.__ΩReceiveType, "type", () => core.__ΩFromBinaryFn, "createFromBinaryFn", 'Pn!2"8"o#"2$8n%`/&'];
|
|
56
|
+
function createToJavascriptFn(opts, type2 = createToJavascriptFn.Ω?.[0]) {
|
|
57
|
+
createToJavascriptFn.Ω = void 0;
|
|
58
|
+
const rt = src_createRunType.runType(type2);
|
|
59
|
+
return rt.createJitFunction(src_constants_functions.JitFunctions.toJSCode, opts);
|
|
60
|
+
}
|
|
61
|
+
createToJavascriptFn.__type = [() => src_types.__ΩRunTypeOptions, "opts", () => type.__ΩReceiveType, "type", () => core.__ΩToCodeFn, "createToJavascriptFn", 'Pn!2"8"o#"2$8n%/&'];
|
|
62
|
+
async function createMockTypeFn(type2 = createMockTypeFn.Ω?.[0]) {
|
|
63
|
+
createMockTypeFn.Ω = void 0;
|
|
64
|
+
const rt = src_createRunType.runType(type2);
|
|
65
|
+
await src_lib_jitFnsRegistry.registerJitFunctionCompiler(src_constants_functions.JitFunctions.mock);
|
|
66
|
+
return __assignType((opts) => rt.mockType(opts), [() => __ΩPartial, () => src_types.__ΩRunTypeOptions, "opts", "", 'Pn"o!"2#8"/$']);
|
|
67
|
+
}
|
|
68
|
+
createMockTypeFn.__type = [() => type.__ΩReceiveType, "type", () => __ΩPartial, () => src_types.__ΩRunTypeOptions, "opts", "", "createMockTypeFn", 'P"o!"2"8Pn$o#"2%8"/&`/\''];
|
|
69
|
+
exports.createFromBinaryFn = createFromBinaryFn;
|
|
70
|
+
exports.createIsTypeFn = createIsTypeFn;
|
|
71
|
+
exports.createMockTypeFn = createMockTypeFn;
|
|
72
|
+
exports.createPrepareForJsonFn = createPrepareForJsonFn;
|
|
73
|
+
exports.createRestoreFromJsonFn = createRestoreFromJsonFn;
|
|
74
|
+
exports.createStringifyJsonFn = createStringifyJsonFn;
|
|
75
|
+
exports.createToBinaryFn = createToBinaryFn;
|
|
76
|
+
exports.createToJavascriptFn = createToJavascriptFn;
|
|
77
|
+
exports.createTypeErrorsFn = createTypeErrorsFn;
|
|
78
|
+
//# sourceMappingURL=createRunTypeFunctions.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createRunTypeFunctions.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ReceiveType } from '@deepkit/type';
|
|
2
|
+
import { RunTypeOptions } from './types.ts';
|
|
3
|
+
import { FromBinaryFn, IsTypeFn, JsonStringifyFn, PrepareForJsonFn, RestoreFromJsonFn, ToBinaryFn, ToCodeFn, TypeErrorsFn } from '@mionjs/core';
|
|
4
|
+
export declare function createIsTypeFn<T>(opts?: RunTypeOptions, type?: ReceiveType<T>): Promise<IsTypeFn>;
|
|
5
|
+
export declare function createTypeErrorsFn<T>(opts?: RunTypeOptions, type?: ReceiveType<T>): Promise<TypeErrorsFn>;
|
|
6
|
+
export declare function createPrepareForJsonFn<T>(opts?: RunTypeOptions, type?: ReceiveType<T>): Promise<PrepareForJsonFn>;
|
|
7
|
+
export declare function createRestoreFromJsonFn<T>(opts?: RunTypeOptions, type?: ReceiveType<T>): Promise<RestoreFromJsonFn>;
|
|
8
|
+
export declare function createStringifyJsonFn<T>(opts?: RunTypeOptions, type?: ReceiveType<T>): Promise<JsonStringifyFn>;
|
|
9
|
+
export declare function createToBinaryFn<T>(opts?: RunTypeOptions, type?: ReceiveType<T>): Promise<ToBinaryFn>;
|
|
10
|
+
export declare function createFromBinaryFn<T>(opts?: RunTypeOptions, type?: ReceiveType<T>): Promise<FromBinaryFn>;
|
|
11
|
+
export declare function createToJavascriptFn<T>(opts?: RunTypeOptions, type?: ReceiveType<T>): ToCodeFn;
|
|
12
|
+
export declare function createMockTypeFn<T>(type?: ReceiveType<T>): Promise<(opts?: Partial<RunTypeOptions>) => T>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const core = require("@deepkit/core");
|
|
4
|
+
const core$1 = require("@mionjs/core");
|
|
5
|
+
const __ΩTypeFormat = ["BaseType", "Name", "P", "BrandName", () => core.__ΩTypeAnnotation, () => core$1.__ΩBrand, () => core.__ΩTypeAnnotation, "brand", "TypeFormat", `lPPe$!e$"e$#o%#KRPe$!e$$o&#e$"Pe%#Pe&$4(MKo'#KRb!b"b#!c$PPe#$GP!Gqk#2Qw)y`];
|
|
6
|
+
exports.__ΩTypeFormat = __ΩTypeFormat;
|
|
7
|
+
//# sourceMappingURL=formats.runtype.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formats.runtype.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { TypeAnnotation } from '@deepkit/core';
|
|
2
|
+
import { TypeFormatParams, Brand, TypeFormatPrimitives } from '@mionjs/core';
|
|
3
|
+
export type TypeFormat<BaseType extends TypeFormatPrimitives, Name extends string, P extends TypeFormatParams, BrandName extends string = never> = [BrandName] extends [never] ? BaseType & TypeAnnotation<Name, P> : Brand<BaseType, BrandName> & TypeAnnotation<Name, P & {
|
|
4
|
+
brand: BrandName;
|
|
5
|
+
}>;
|
|
6
|
+
export declare type __ΩTypeFormat = any[];
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const src_constants_functions = require("../../../constants.functions.cjs");
|
|
4
|
+
const core = require("@mionjs/core");
|
|
5
|
+
const vitest = require("vitest");
|
|
6
|
+
const DEBUG = core.getENV("DEBUG_JIT") === "print";
|
|
7
|
+
const toJsonSerializers = /* @__PURE__ */ new Map();
|
|
8
|
+
core.setSerializationOptions({ bufferSize: 1024 });
|
|
9
|
+
const serContext = core.createDataViewSerializer("test");
|
|
10
|
+
const desContext = core.createDataViewDeserializer("test", new ArrayBuffer(0));
|
|
11
|
+
const SERIALIZE_FN = src_constants_functions.JitFunctions.toBinary;
|
|
12
|
+
const DESERIALIZE_FN = src_constants_functions.JitFunctions.fromBinary;
|
|
13
|
+
function createSerializationFns(rt) {
|
|
14
|
+
const toBinary = rt.createJitFunction(SERIALIZE_FN);
|
|
15
|
+
const fromBinary = rt.createJitFunction(DESERIALIZE_FN);
|
|
16
|
+
const serialize = (v) => (toBinary(v, serContext), serContext.getBuffer());
|
|
17
|
+
const deserialize = (data) => (desContext.setBuffer(data), fromBinary(void 0, desContext));
|
|
18
|
+
if (DEBUG) {
|
|
19
|
+
const toJson = rt.createJitFunction(src_constants_functions.JitFunctions.prepareForJson);
|
|
20
|
+
const stringify = (v) => JSON.stringify(toJson(v));
|
|
21
|
+
toJsonSerializers.set(serialize, stringify);
|
|
22
|
+
}
|
|
23
|
+
return { serialize, deserialize };
|
|
24
|
+
}
|
|
25
|
+
function createSerializationParamsFn(rt, sliceStart) {
|
|
26
|
+
const params = typeof sliceStart === "number" ? { paramsSlice: { start: sliceStart } } : void 0;
|
|
27
|
+
const toBinary = rt.createJitParamsFunction(SERIALIZE_FN, params);
|
|
28
|
+
const fromBinary = rt.createJitParamsFunction(DESERIALIZE_FN, params);
|
|
29
|
+
const serialize = (v) => (toBinary(v, serContext), serContext.getBuffer());
|
|
30
|
+
const deserialize = (data) => (desContext.setBuffer(data), fromBinary(void 0, desContext));
|
|
31
|
+
if (DEBUG) {
|
|
32
|
+
const toJson = rt.createJitParamsFunction(src_constants_functions.JitFunctions.prepareForJson, params);
|
|
33
|
+
const stringify = (v) => JSON.stringify(toJson(v));
|
|
34
|
+
toJsonSerializers.set(serialize, stringify);
|
|
35
|
+
}
|
|
36
|
+
return { serialize, deserialize };
|
|
37
|
+
}
|
|
38
|
+
function createSerializationReturnFn(rt) {
|
|
39
|
+
const toBinary = rt.createJitReturnFunction(SERIALIZE_FN);
|
|
40
|
+
const fromBinary = rt.createJitReturnFunction(DESERIALIZE_FN);
|
|
41
|
+
const serialize = (v) => (toBinary(v, serContext), serContext.getBuffer());
|
|
42
|
+
const deserialize = (data) => (desContext.setBuffer(data), fromBinary(void 0, desContext));
|
|
43
|
+
if (DEBUG) {
|
|
44
|
+
const toJson = rt.createJitReturnFunction(src_constants_functions.JitFunctions.prepareForJson);
|
|
45
|
+
const stringify = (v) => JSON.stringify(toJson(v));
|
|
46
|
+
toJsonSerializers.set(serialize, stringify);
|
|
47
|
+
}
|
|
48
|
+
return { serialize, deserialize };
|
|
49
|
+
}
|
|
50
|
+
function createSerializationCallSignatureParamsFn(rt) {
|
|
51
|
+
const callSignature = rt.getCallSignature();
|
|
52
|
+
const toBinary = callSignature.createJitParamsFunction(SERIALIZE_FN);
|
|
53
|
+
const fromBinary = callSignature.createJitParamsFunction(DESERIALIZE_FN);
|
|
54
|
+
const serialize = (v) => (toBinary(v, serContext), serContext.getBuffer());
|
|
55
|
+
const deserialize = (data) => (desContext.setBuffer(data), fromBinary(void 0, desContext));
|
|
56
|
+
if (DEBUG) {
|
|
57
|
+
const toJson = callSignature.createJitParamsFunction(src_constants_functions.JitFunctions.prepareForJson);
|
|
58
|
+
const stringify = (v) => JSON.stringify(toJson(v));
|
|
59
|
+
toJsonSerializers.set(serialize, stringify);
|
|
60
|
+
}
|
|
61
|
+
return { serialize, deserialize };
|
|
62
|
+
}
|
|
63
|
+
function createSerializationCallSignatureReturnFn(rt) {
|
|
64
|
+
const callSignature = rt.getCallSignature();
|
|
65
|
+
const toBinary = callSignature.createJitReturnFunction(SERIALIZE_FN);
|
|
66
|
+
const fromBinary = callSignature.createJitReturnFunction(DESERIALIZE_FN);
|
|
67
|
+
const serialize = (v) => (toBinary(v, serContext), serContext.getBuffer());
|
|
68
|
+
const deserialize = (data) => (desContext.setBuffer(data), fromBinary(void 0, desContext));
|
|
69
|
+
if (DEBUG) {
|
|
70
|
+
const toJson = callSignature.createJitReturnFunction(src_constants_functions.JitFunctions.prepareForJson);
|
|
71
|
+
const stringify = (v) => JSON.stringify(toJson(v));
|
|
72
|
+
toJsonSerializers.set(serialize, stringify);
|
|
73
|
+
}
|
|
74
|
+
return { serialize, deserialize };
|
|
75
|
+
}
|
|
76
|
+
const sizesEntries = [];
|
|
77
|
+
const valuesEntries = [];
|
|
78
|
+
function roundTrip(serialize, deserialize, value) {
|
|
79
|
+
serContext.reset();
|
|
80
|
+
const serialized = serialize(value);
|
|
81
|
+
const deserialized = deserialize(serialized);
|
|
82
|
+
if (DEBUG) {
|
|
83
|
+
const stringify = toJsonSerializers.get(serialize);
|
|
84
|
+
let json = "";
|
|
85
|
+
try {
|
|
86
|
+
json = new Blob([stringify(value)]).size;
|
|
87
|
+
} catch (e) {
|
|
88
|
+
json = "-";
|
|
89
|
+
}
|
|
90
|
+
const sizes = { name: vitest.expect.getState().currentTestName, json, binary: serialized.byteLength };
|
|
91
|
+
sizesEntries.push(sizes);
|
|
92
|
+
valuesEntries.push({ value, deserialized });
|
|
93
|
+
}
|
|
94
|
+
const result = { serialized, deserialized };
|
|
95
|
+
return result;
|
|
96
|
+
}
|
|
97
|
+
vitest.afterAll(() => {
|
|
98
|
+
if (sizesEntries.length) console.table(sizesEntries);
|
|
99
|
+
if (valuesEntries.length) console.table(valuesEntries);
|
|
100
|
+
});
|
|
101
|
+
exports.createSerializationCallSignatureParamsFn = createSerializationCallSignatureParamsFn;
|
|
102
|
+
exports.createSerializationCallSignatureReturnFn = createSerializationCallSignatureReturnFn;
|
|
103
|
+
exports.createSerializationFns = createSerializationFns;
|
|
104
|
+
exports.createSerializationParamsFn = createSerializationParamsFn;
|
|
105
|
+
exports.createSerializationReturnFn = createSerializationReturnFn;
|
|
106
|
+
exports.desContext = desContext;
|
|
107
|
+
exports.roundTrip = roundTrip;
|
|
108
|
+
exports.serContext = serContext;
|
|
109
|
+
//# sourceMappingURL=binaryHelpers.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binaryHelpers.cjs","sources":["../../../../../../src/jitCompilers/binary/binarySpec/binaryHelpers.ts"],"sourcesContent":["/* ########\n * 2025 mion\n * Author: Ma-jerez\n * License: MIT\n * The software is provided \"as is\", without warranty of any kind.\n * ######## */\n\nimport {JitFunctions} from '../../../constants.functions.ts';\nimport {FunctionRunType} from '../../../nodes/function/function.ts';\nimport type {DataViewDeserializer, DataViewSerializer, StrictArrayBuffer} from '@mionjs/core';\nimport type {InterfaceRunType} from '../../../nodes/collection/interface.ts';\nimport type {RunType} from '../../../types.ts';\nimport {createDataViewDeserializer, createDataViewSerializer, setSerializationOptions, getENV} from '@mionjs/core';\nimport {afterAll, expect} from 'vitest';\n\nconst DEBUG = getENV('DEBUG_JIT') === 'print';\n/** maps a binary serializer to json serializer */\nconst toJsonSerializers: Map<(v: any) => any, (v: any) => string> = new Map();\n\nsetSerializationOptions({bufferSize: 1024});\nexport const serContext: DataViewSerializer = createDataViewSerializer('test');\nexport const desContext: DataViewDeserializer = createDataViewDeserializer('test', new ArrayBuffer(0));\n\nconst SERIALIZE_FN = JitFunctions.toBinary;\nconst DESERIALIZE_FN = JitFunctions.fromBinary;\n\nexport function createSerializationFns(rt: RunType) {\n const toBinary = rt.createJitFunction(SERIALIZE_FN);\n const fromBinary = rt.createJitFunction(DESERIALIZE_FN);\n const serialize = (v: any) => (toBinary(v, serContext), serContext.getBuffer());\n const deserialize = (data: StrictArrayBuffer) => (desContext.setBuffer(data), fromBinary(undefined, desContext));\n if (DEBUG) {\n const toJson = rt.createJitFunction(JitFunctions.prepareForJson);\n const stringify = (v: any) => JSON.stringify(toJson(v));\n toJsonSerializers.set(serialize, stringify);\n }\n return {serialize, deserialize};\n}\n\nexport function createSerializationParamsFn(rt: FunctionRunType, sliceStart?: number) {\n const params = typeof sliceStart === 'number' ? {paramsSlice: {start: sliceStart}} : undefined;\n const toBinary = rt.createJitParamsFunction(SERIALIZE_FN, params);\n const fromBinary = rt.createJitParamsFunction(DESERIALIZE_FN, params);\n const serialize = (v: any) => (toBinary(v, serContext), serContext.getBuffer());\n const deserialize = (data: StrictArrayBuffer) => (desContext.setBuffer(data), fromBinary(undefined, desContext));\n if (DEBUG) {\n const toJson = rt.createJitParamsFunction(JitFunctions.prepareForJson, params);\n const stringify = (v: any) => JSON.stringify(toJson(v));\n toJsonSerializers.set(serialize, stringify);\n }\n return {serialize, deserialize};\n}\n\nexport function createSerializationReturnFn(rt: FunctionRunType) {\n const toBinary = rt.createJitReturnFunction(SERIALIZE_FN);\n const fromBinary = rt.createJitReturnFunction(DESERIALIZE_FN);\n const serialize = (v: any) => (toBinary(v, serContext), serContext.getBuffer());\n const deserialize = (data: StrictArrayBuffer) => (desContext.setBuffer(data), fromBinary(undefined, desContext));\n if (DEBUG) {\n const toJson = rt.createJitReturnFunction(JitFunctions.prepareForJson);\n const stringify = (v: any) => JSON.stringify(toJson(v));\n toJsonSerializers.set(serialize, stringify);\n }\n return {serialize, deserialize};\n}\n\nexport function createSerializationCallSignatureParamsFn(rt: InterfaceRunType) {\n const callSignature = rt.getCallSignature()!;\n const toBinary = callSignature.createJitParamsFunction(SERIALIZE_FN);\n const fromBinary = callSignature.createJitParamsFunction(DESERIALIZE_FN);\n const serialize = (v: any) => (toBinary(v, serContext), serContext.getBuffer());\n const deserialize = (data: StrictArrayBuffer) => (desContext.setBuffer(data), fromBinary(undefined, desContext));\n if (DEBUG) {\n const toJson = callSignature.createJitParamsFunction(JitFunctions.prepareForJson);\n const stringify = (v: any) => JSON.stringify(toJson(v));\n toJsonSerializers.set(serialize, stringify);\n }\n return {serialize, deserialize};\n}\n\nexport function createSerializationCallSignatureReturnFn(rt: InterfaceRunType) {\n const callSignature = rt.getCallSignature()!;\n const toBinary = callSignature.createJitReturnFunction(SERIALIZE_FN);\n const fromBinary = callSignature.createJitReturnFunction(DESERIALIZE_FN);\n const serialize = (v: any) => (toBinary(v, serContext), serContext.getBuffer());\n const deserialize = (data: StrictArrayBuffer) => (desContext.setBuffer(data), fromBinary(undefined, desContext));\n if (DEBUG) {\n const toJson = callSignature.createJitReturnFunction(JitFunctions.prepareForJson);\n const stringify = (v: any) => JSON.stringify(toJson(v));\n toJsonSerializers.set(serialize, stringify);\n }\n return {serialize, deserialize};\n}\n\nconst sizesEntries: any[] = [];\nconst valuesEntries: any[] = [];\n\nexport function roundTrip(serialize: (v: any) => StrictArrayBuffer, deserialize: (v: StrictArrayBuffer) => any, value: any) {\n serContext.reset();\n const serialized = serialize(value);\n const deserialized = deserialize(serialized);\n if (DEBUG) {\n const stringify = toJsonSerializers.get(serialize)!;\n let json: number | string = '';\n // eslint-disable-next-line\n try { json = new Blob([stringify(value)]).size; } catch (e) { json = '-'; } // prettier-ignore\n const sizes = {name: expect.getState().currentTestName, json, binary: serialized.byteLength};\n sizesEntries.push(sizes);\n valuesEntries.push({value, deserialized});\n }\n const result = {serialized, deserialized};\n return result;\n}\n\nafterAll(() => {\n if (sizesEntries.length) console.table(sizesEntries);\n if (valuesEntries.length) console.table(valuesEntries);\n});\n"],"names":["getENV","setSerializationOptions","createDataViewSerializer","createDataViewDeserializer","JitFunctions","expect","afterAll"],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { FunctionRunType } from '../../../nodes/function/function.ts';
|
|
2
|
+
import { DataViewDeserializer, DataViewSerializer, StrictArrayBuffer } from '@mionjs/core';
|
|
3
|
+
import { InterfaceRunType } from '../../../nodes/collection/interface.ts';
|
|
4
|
+
import { RunType } from '../../../types.ts';
|
|
5
|
+
export declare const serContext: DataViewSerializer;
|
|
6
|
+
export declare const desContext: DataViewDeserializer;
|
|
7
|
+
export declare function createSerializationFns(rt: RunType): {
|
|
8
|
+
serialize: (v: any) => StrictArrayBuffer;
|
|
9
|
+
deserialize: (data: StrictArrayBuffer) => any;
|
|
10
|
+
};
|
|
11
|
+
export declare function createSerializationParamsFn(rt: FunctionRunType, sliceStart?: number): {
|
|
12
|
+
serialize: (v: any) => StrictArrayBuffer;
|
|
13
|
+
deserialize: (data: StrictArrayBuffer) => any;
|
|
14
|
+
};
|
|
15
|
+
export declare function createSerializationReturnFn(rt: FunctionRunType): {
|
|
16
|
+
serialize: (v: any) => StrictArrayBuffer;
|
|
17
|
+
deserialize: (data: StrictArrayBuffer) => any;
|
|
18
|
+
};
|
|
19
|
+
export declare function createSerializationCallSignatureParamsFn(rt: InterfaceRunType): {
|
|
20
|
+
serialize: (v: any) => StrictArrayBuffer;
|
|
21
|
+
deserialize: (data: StrictArrayBuffer) => any;
|
|
22
|
+
};
|
|
23
|
+
export declare function createSerializationCallSignatureReturnFn(rt: InterfaceRunType): {
|
|
24
|
+
serialize: (v: any) => StrictArrayBuffer;
|
|
25
|
+
deserialize: (data: StrictArrayBuffer) => any;
|
|
26
|
+
};
|
|
27
|
+
export declare function roundTrip(serialize: (v: any) => StrictArrayBuffer, deserialize: (v: StrictArrayBuffer) => any, value: any): {
|
|
28
|
+
serialized: StrictArrayBuffer;
|
|
29
|
+
deserialized: any;
|
|
30
|
+
};
|