@mionjs/run-types 0.8.6 → 0.8.8
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.d.ts +1 -0
- package/.dist/cjs/index.d.ts.map +1 -0
- package/.dist/cjs/src/constants.d.ts +1 -0
- package/.dist/cjs/src/constants.d.ts.map +1 -0
- package/.dist/cjs/src/constants.functions.d.ts +1 -0
- package/.dist/cjs/src/constants.functions.d.ts.map +1 -0
- package/.dist/cjs/src/constants.kind.d.ts +1 -0
- package/.dist/cjs/src/constants.kind.d.ts.map +1 -0
- package/.dist/cjs/src/createRunType.d.ts +1 -0
- package/.dist/cjs/src/createRunType.d.ts.map +1 -0
- package/.dist/cjs/src/createRunTypeFunctions.d.ts +1 -0
- package/.dist/cjs/src/createRunTypeFunctions.d.ts.map +1 -0
- package/.dist/cjs/src/formats.runtype.d.ts +1 -0
- package/.dist/cjs/src/formats.runtype.d.ts.map +1 -0
- package/.dist/cjs/src/jitCompilers/binary/binarySpec/binaryHelpers.d.ts +1 -0
- package/.dist/cjs/src/jitCompilers/binary/binarySpec/binaryHelpers.d.ts.map +1 -0
- package/.dist/cjs/src/jitCompilers/binary/fromBinary.d.ts +1 -0
- package/.dist/cjs/src/jitCompilers/binary/fromBinary.d.ts.map +1 -0
- package/.dist/cjs/src/jitCompilers/binary/toBinary.d.ts +1 -0
- package/.dist/cjs/src/jitCompilers/binary/toBinary.d.ts.map +1 -0
- package/.dist/cjs/src/jitCompilers/equalsHelpers.d.ts +1 -0
- package/.dist/cjs/src/jitCompilers/equalsHelpers.d.ts.map +1 -0
- package/.dist/cjs/src/jitCompilers/json/jsonSpec/jsonHelpers.d.ts +1 -0
- package/.dist/cjs/src/jitCompilers/json/jsonSpec/jsonHelpers.d.ts.map +1 -0
- package/.dist/cjs/src/jitCompilers/json/stringifyJson.d.ts +1 -0
- package/.dist/cjs/src/jitCompilers/json/stringifyJson.d.ts.map +1 -0
- package/.dist/cjs/src/jitCompilers/json/stringifySpec/stringifyHelpers.d.ts +1 -0
- package/.dist/cjs/src/jitCompilers/json/stringifySpec/stringifyHelpers.d.ts.map +1 -0
- package/.dist/cjs/src/jitCompilers/json/toJsCode.d.ts +1 -0
- package/.dist/cjs/src/jitCompilers/json/toJsCode.d.ts.map +1 -0
- package/.dist/cjs/src/lib/baseRunTypeFormat.d.ts +1 -0
- package/.dist/cjs/src/lib/baseRunTypeFormat.d.ts.map +1 -0
- package/.dist/cjs/src/lib/baseRunTypes.d.ts +1 -0
- package/.dist/cjs/src/lib/baseRunTypes.d.ts.map +1 -0
- package/.dist/cjs/src/lib/createJitFunction.d.ts +1 -0
- package/.dist/cjs/src/lib/createJitFunction.d.ts.map +1 -0
- package/.dist/cjs/src/lib/dkProxy.d.ts +1 -0
- package/.dist/cjs/src/lib/dkProxy.d.ts.map +1 -0
- package/.dist/cjs/src/lib/formats.d.ts +1 -0
- package/.dist/cjs/src/lib/formats.d.ts.map +1 -0
- package/.dist/cjs/src/lib/guards.d.ts +1 -0
- package/.dist/cjs/src/lib/guards.d.ts.map +1 -0
- package/.dist/cjs/src/lib/jitFnCompiler.d.ts +1 -0
- package/.dist/cjs/src/lib/jitFnCompiler.d.ts.map +1 -0
- package/.dist/cjs/src/lib/jitFnsRegistry.d.ts +1 -0
- package/.dist/cjs/src/lib/jitFnsRegistry.d.ts.map +1 -0
- package/.dist/cjs/src/lib/typeId.d.ts +1 -0
- package/.dist/cjs/src/lib/typeId.d.ts.map +1 -0
- package/.dist/cjs/src/lib/utils.d.ts +1 -0
- package/.dist/cjs/src/lib/utils.d.ts.map +1 -0
- package/.dist/cjs/src/mocking/constants.mock.d.ts +1 -0
- package/.dist/cjs/src/mocking/constants.mock.d.ts.map +1 -0
- package/.dist/cjs/src/mocking/mockRegistry.d.ts +1 -0
- package/.dist/cjs/src/mocking/mockRegistry.d.ts.map +1 -0
- package/.dist/cjs/src/mocking/mockType.d.ts +1 -0
- package/.dist/cjs/src/mocking/mockType.d.ts.map +1 -0
- package/.dist/cjs/src/mocking/mockUtils.d.ts +1 -0
- package/.dist/cjs/src/mocking/mockUtils.d.ts.map +1 -0
- package/.dist/cjs/src/nodes/atomic/any.d.ts +1 -0
- package/.dist/cjs/src/nodes/atomic/any.d.ts.map +1 -0
- package/.dist/cjs/src/nodes/atomic/bigInt.d.ts +1 -0
- package/.dist/cjs/src/nodes/atomic/bigInt.d.ts.map +1 -0
- package/.dist/cjs/src/nodes/atomic/boolean.d.ts +1 -0
- package/.dist/cjs/src/nodes/atomic/boolean.d.ts.map +1 -0
- package/.dist/cjs/src/nodes/atomic/date.d.ts +1 -0
- package/.dist/cjs/src/nodes/atomic/date.d.ts.map +1 -0
- package/.dist/cjs/src/nodes/atomic/enum.d.ts +1 -0
- package/.dist/cjs/src/nodes/atomic/enum.d.ts.map +1 -0
- package/.dist/cjs/src/nodes/atomic/enumMember.d.ts +1 -0
- package/.dist/cjs/src/nodes/atomic/enumMember.d.ts.map +1 -0
- package/.dist/cjs/src/nodes/atomic/literal.d.ts +1 -0
- package/.dist/cjs/src/nodes/atomic/literal.d.ts.map +1 -0
- package/.dist/cjs/src/nodes/atomic/never.d.ts +1 -0
- package/.dist/cjs/src/nodes/atomic/never.d.ts.map +1 -0
- package/.dist/cjs/src/nodes/atomic/null.d.ts +1 -0
- package/.dist/cjs/src/nodes/atomic/null.d.ts.map +1 -0
- package/.dist/cjs/src/nodes/atomic/number.d.ts +1 -0
- package/.dist/cjs/src/nodes/atomic/number.d.ts.map +1 -0
- package/.dist/cjs/src/nodes/atomic/object.d.ts +1 -0
- package/.dist/cjs/src/nodes/atomic/object.d.ts.map +1 -0
- package/.dist/cjs/src/nodes/atomic/regexp.d.ts +1 -0
- package/.dist/cjs/src/nodes/atomic/regexp.d.ts.map +1 -0
- package/.dist/cjs/src/nodes/atomic/string.d.ts +1 -0
- package/.dist/cjs/src/nodes/atomic/string.d.ts.map +1 -0
- package/.dist/cjs/src/nodes/atomic/symbol.d.ts +1 -0
- package/.dist/cjs/src/nodes/atomic/symbol.d.ts.map +1 -0
- package/.dist/cjs/src/nodes/atomic/undefined.d.ts +1 -0
- package/.dist/cjs/src/nodes/atomic/undefined.d.ts.map +1 -0
- package/.dist/cjs/src/nodes/atomic/unknown.d.ts +1 -0
- package/.dist/cjs/src/nodes/atomic/unknown.d.ts.map +1 -0
- package/.dist/cjs/src/nodes/atomic/void.d.ts +1 -0
- package/.dist/cjs/src/nodes/atomic/void.d.ts.map +1 -0
- package/.dist/cjs/src/nodes/collection/class.d.ts +1 -0
- package/.dist/cjs/src/nodes/collection/class.d.ts.map +1 -0
- package/.dist/cjs/src/nodes/collection/functionParams.d.ts +1 -0
- package/.dist/cjs/src/nodes/collection/functionParams.d.ts.map +1 -0
- package/.dist/cjs/src/nodes/collection/interface.d.ts +1 -0
- package/.dist/cjs/src/nodes/collection/interface.d.ts.map +1 -0
- package/.dist/cjs/src/nodes/collection/intersection.d.ts +1 -0
- package/.dist/cjs/src/nodes/collection/intersection.d.ts.map +1 -0
- package/.dist/cjs/src/nodes/collection/tuple.d.ts +1 -0
- package/.dist/cjs/src/nodes/collection/tuple.d.ts.map +1 -0
- package/.dist/cjs/src/nodes/collection/union.d.ts +1 -0
- package/.dist/cjs/src/nodes/collection/union.d.ts.map +1 -0
- package/.dist/cjs/src/nodes/collection/unionDiscriminator.d.ts +1 -0
- package/.dist/cjs/src/nodes/collection/unionDiscriminator.d.ts.map +1 -0
- package/.dist/cjs/src/nodes/function/function.d.ts +1 -0
- package/.dist/cjs/src/nodes/function/function.d.ts.map +1 -0
- package/.dist/cjs/src/nodes/member/array.d.ts +1 -0
- package/.dist/cjs/src/nodes/member/array.d.ts.map +1 -0
- package/.dist/cjs/src/nodes/member/callSignature.d.ts +1 -0
- package/.dist/cjs/src/nodes/member/callSignature.d.ts.map +1 -0
- package/.dist/cjs/src/nodes/member/genericMember.d.ts +1 -0
- package/.dist/cjs/src/nodes/member/genericMember.d.ts.map +1 -0
- package/.dist/cjs/src/nodes/member/indexProperty.d.ts +1 -0
- package/.dist/cjs/src/nodes/member/indexProperty.d.ts.map +1 -0
- package/.dist/cjs/src/nodes/member/method.d.ts +1 -0
- package/.dist/cjs/src/nodes/member/method.d.ts.map +1 -0
- package/.dist/cjs/src/nodes/member/methodSignature.d.ts +1 -0
- package/.dist/cjs/src/nodes/member/methodSignature.d.ts.map +1 -0
- package/.dist/cjs/src/nodes/member/param.d.ts +1 -0
- package/.dist/cjs/src/nodes/member/param.d.ts.map +1 -0
- package/.dist/cjs/src/nodes/member/property.d.ts +1 -0
- package/.dist/cjs/src/nodes/member/property.d.ts.map +1 -0
- package/.dist/cjs/src/nodes/member/restParams.d.ts +1 -0
- package/.dist/cjs/src/nodes/member/restParams.d.ts.map +1 -0
- package/.dist/cjs/src/nodes/member/tupleMember.d.ts +1 -0
- package/.dist/cjs/src/nodes/member/tupleMember.d.ts.map +1 -0
- package/.dist/cjs/src/nodes/native/Iterable.d.ts +1 -0
- package/.dist/cjs/src/nodes/native/Iterable.d.ts.map +1 -0
- package/.dist/cjs/src/nodes/native/map.d.ts +1 -0
- package/.dist/cjs/src/nodes/native/map.d.ts.map +1 -0
- package/.dist/cjs/src/nodes/native/nonSerializable.d.ts +1 -0
- package/.dist/cjs/src/nodes/native/nonSerializable.d.ts.map +1 -0
- package/.dist/cjs/src/nodes/native/promise.d.ts +1 -0
- package/.dist/cjs/src/nodes/native/promise.d.ts.map +1 -0
- package/.dist/cjs/src/nodes/native/set.d.ts +1 -0
- package/.dist/cjs/src/nodes/native/set.d.ts.map +1 -0
- package/.dist/cjs/src/run-types-pure-fns.d.ts +1 -0
- package/.dist/cjs/src/run-types-pure-fns.d.ts.map +1 -0
- package/.dist/cjs/src/types.d.ts +1 -0
- package/.dist/cjs/src/types.d.ts.map +1 -0
- package/.dist/esm/index.d.ts +1 -0
- package/.dist/esm/index.d.ts.map +1 -0
- package/.dist/esm/src/constants.d.ts +1 -0
- package/.dist/esm/src/constants.d.ts.map +1 -0
- package/.dist/esm/src/constants.functions.d.ts +1 -0
- package/.dist/esm/src/constants.functions.d.ts.map +1 -0
- package/.dist/esm/src/constants.kind.d.ts +1 -0
- package/.dist/esm/src/constants.kind.d.ts.map +1 -0
- package/.dist/esm/src/createRunType.d.ts +1 -0
- package/.dist/esm/src/createRunType.d.ts.map +1 -0
- package/.dist/esm/src/createRunTypeFunctions.d.ts +1 -0
- package/.dist/esm/src/createRunTypeFunctions.d.ts.map +1 -0
- package/.dist/esm/src/formats.runtype.d.ts +1 -0
- package/.dist/esm/src/formats.runtype.d.ts.map +1 -0
- package/.dist/esm/src/jitCompilers/binary/binarySpec/binaryHelpers.d.ts +1 -0
- package/.dist/esm/src/jitCompilers/binary/binarySpec/binaryHelpers.d.ts.map +1 -0
- package/.dist/esm/src/jitCompilers/binary/fromBinary.d.ts +1 -0
- package/.dist/esm/src/jitCompilers/binary/fromBinary.d.ts.map +1 -0
- package/.dist/esm/src/jitCompilers/binary/toBinary.d.ts +1 -0
- package/.dist/esm/src/jitCompilers/binary/toBinary.d.ts.map +1 -0
- package/.dist/esm/src/jitCompilers/equalsHelpers.d.ts +1 -0
- package/.dist/esm/src/jitCompilers/equalsHelpers.d.ts.map +1 -0
- package/.dist/esm/src/jitCompilers/json/jsonSpec/jsonHelpers.d.ts +1 -0
- package/.dist/esm/src/jitCompilers/json/jsonSpec/jsonHelpers.d.ts.map +1 -0
- package/.dist/esm/src/jitCompilers/json/stringifyJson.d.ts +1 -0
- package/.dist/esm/src/jitCompilers/json/stringifyJson.d.ts.map +1 -0
- package/.dist/esm/src/jitCompilers/json/stringifySpec/stringifyHelpers.d.ts +1 -0
- package/.dist/esm/src/jitCompilers/json/stringifySpec/stringifyHelpers.d.ts.map +1 -0
- package/.dist/esm/src/jitCompilers/json/toJsCode.d.ts +1 -0
- package/.dist/esm/src/jitCompilers/json/toJsCode.d.ts.map +1 -0
- package/.dist/esm/src/lib/baseRunTypeFormat.d.ts +1 -0
- package/.dist/esm/src/lib/baseRunTypeFormat.d.ts.map +1 -0
- package/.dist/esm/src/lib/baseRunTypes.d.ts +1 -0
- package/.dist/esm/src/lib/baseRunTypes.d.ts.map +1 -0
- package/.dist/esm/src/lib/createJitFunction.d.ts +1 -0
- package/.dist/esm/src/lib/createJitFunction.d.ts.map +1 -0
- package/.dist/esm/src/lib/dkProxy.d.ts +1 -0
- package/.dist/esm/src/lib/dkProxy.d.ts.map +1 -0
- package/.dist/esm/src/lib/formats.d.ts +1 -0
- package/.dist/esm/src/lib/formats.d.ts.map +1 -0
- package/.dist/esm/src/lib/guards.d.ts +1 -0
- package/.dist/esm/src/lib/guards.d.ts.map +1 -0
- package/.dist/esm/src/lib/jitFnCompiler.d.ts +1 -0
- package/.dist/esm/src/lib/jitFnCompiler.d.ts.map +1 -0
- package/.dist/esm/src/lib/jitFnsRegistry.d.ts +1 -0
- package/.dist/esm/src/lib/jitFnsRegistry.d.ts.map +1 -0
- package/.dist/esm/src/lib/typeId.d.ts +1 -0
- package/.dist/esm/src/lib/typeId.d.ts.map +1 -0
- package/.dist/esm/src/lib/utils.d.ts +1 -0
- package/.dist/esm/src/lib/utils.d.ts.map +1 -0
- package/.dist/esm/src/mocking/constants.mock.d.ts +1 -0
- package/.dist/esm/src/mocking/constants.mock.d.ts.map +1 -0
- package/.dist/esm/src/mocking/mockRegistry.d.ts +1 -0
- package/.dist/esm/src/mocking/mockRegistry.d.ts.map +1 -0
- package/.dist/esm/src/mocking/mockType.d.ts +1 -0
- package/.dist/esm/src/mocking/mockType.d.ts.map +1 -0
- package/.dist/esm/src/mocking/mockUtils.d.ts +1 -0
- package/.dist/esm/src/mocking/mockUtils.d.ts.map +1 -0
- package/.dist/esm/src/nodes/atomic/any.d.ts +1 -0
- package/.dist/esm/src/nodes/atomic/any.d.ts.map +1 -0
- package/.dist/esm/src/nodes/atomic/bigInt.d.ts +1 -0
- package/.dist/esm/src/nodes/atomic/bigInt.d.ts.map +1 -0
- package/.dist/esm/src/nodes/atomic/boolean.d.ts +1 -0
- package/.dist/esm/src/nodes/atomic/boolean.d.ts.map +1 -0
- package/.dist/esm/src/nodes/atomic/date.d.ts +1 -0
- package/.dist/esm/src/nodes/atomic/date.d.ts.map +1 -0
- package/.dist/esm/src/nodes/atomic/enum.d.ts +1 -0
- package/.dist/esm/src/nodes/atomic/enum.d.ts.map +1 -0
- package/.dist/esm/src/nodes/atomic/enumMember.d.ts +1 -0
- package/.dist/esm/src/nodes/atomic/enumMember.d.ts.map +1 -0
- package/.dist/esm/src/nodes/atomic/literal.d.ts +1 -0
- package/.dist/esm/src/nodes/atomic/literal.d.ts.map +1 -0
- package/.dist/esm/src/nodes/atomic/never.d.ts +1 -0
- package/.dist/esm/src/nodes/atomic/never.d.ts.map +1 -0
- package/.dist/esm/src/nodes/atomic/null.d.ts +1 -0
- package/.dist/esm/src/nodes/atomic/null.d.ts.map +1 -0
- package/.dist/esm/src/nodes/atomic/number.d.ts +1 -0
- package/.dist/esm/src/nodes/atomic/number.d.ts.map +1 -0
- package/.dist/esm/src/nodes/atomic/object.d.ts +1 -0
- package/.dist/esm/src/nodes/atomic/object.d.ts.map +1 -0
- package/.dist/esm/src/nodes/atomic/regexp.d.ts +1 -0
- package/.dist/esm/src/nodes/atomic/regexp.d.ts.map +1 -0
- package/.dist/esm/src/nodes/atomic/string.d.ts +1 -0
- package/.dist/esm/src/nodes/atomic/string.d.ts.map +1 -0
- package/.dist/esm/src/nodes/atomic/symbol.d.ts +1 -0
- package/.dist/esm/src/nodes/atomic/symbol.d.ts.map +1 -0
- package/.dist/esm/src/nodes/atomic/undefined.d.ts +1 -0
- package/.dist/esm/src/nodes/atomic/undefined.d.ts.map +1 -0
- package/.dist/esm/src/nodes/atomic/unknown.d.ts +1 -0
- package/.dist/esm/src/nodes/atomic/unknown.d.ts.map +1 -0
- package/.dist/esm/src/nodes/atomic/void.d.ts +1 -0
- package/.dist/esm/src/nodes/atomic/void.d.ts.map +1 -0
- package/.dist/esm/src/nodes/collection/class.d.ts +1 -0
- package/.dist/esm/src/nodes/collection/class.d.ts.map +1 -0
- package/.dist/esm/src/nodes/collection/functionParams.d.ts +1 -0
- package/.dist/esm/src/nodes/collection/functionParams.d.ts.map +1 -0
- package/.dist/esm/src/nodes/collection/interface.d.ts +1 -0
- package/.dist/esm/src/nodes/collection/interface.d.ts.map +1 -0
- package/.dist/esm/src/nodes/collection/intersection.d.ts +1 -0
- package/.dist/esm/src/nodes/collection/intersection.d.ts.map +1 -0
- package/.dist/esm/src/nodes/collection/tuple.d.ts +1 -0
- package/.dist/esm/src/nodes/collection/tuple.d.ts.map +1 -0
- package/.dist/esm/src/nodes/collection/union.d.ts +1 -0
- package/.dist/esm/src/nodes/collection/union.d.ts.map +1 -0
- package/.dist/esm/src/nodes/collection/unionDiscriminator.d.ts +1 -0
- package/.dist/esm/src/nodes/collection/unionDiscriminator.d.ts.map +1 -0
- package/.dist/esm/src/nodes/function/function.d.ts +1 -0
- package/.dist/esm/src/nodes/function/function.d.ts.map +1 -0
- package/.dist/esm/src/nodes/member/array.d.ts +1 -0
- package/.dist/esm/src/nodes/member/array.d.ts.map +1 -0
- package/.dist/esm/src/nodes/member/callSignature.d.ts +1 -0
- package/.dist/esm/src/nodes/member/callSignature.d.ts.map +1 -0
- package/.dist/esm/src/nodes/member/genericMember.d.ts +1 -0
- package/.dist/esm/src/nodes/member/genericMember.d.ts.map +1 -0
- package/.dist/esm/src/nodes/member/indexProperty.d.ts +1 -0
- package/.dist/esm/src/nodes/member/indexProperty.d.ts.map +1 -0
- package/.dist/esm/src/nodes/member/method.d.ts +1 -0
- package/.dist/esm/src/nodes/member/method.d.ts.map +1 -0
- package/.dist/esm/src/nodes/member/methodSignature.d.ts +1 -0
- package/.dist/esm/src/nodes/member/methodSignature.d.ts.map +1 -0
- package/.dist/esm/src/nodes/member/param.d.ts +1 -0
- package/.dist/esm/src/nodes/member/param.d.ts.map +1 -0
- package/.dist/esm/src/nodes/member/property.d.ts +1 -0
- package/.dist/esm/src/nodes/member/property.d.ts.map +1 -0
- package/.dist/esm/src/nodes/member/restParams.d.ts +1 -0
- package/.dist/esm/src/nodes/member/restParams.d.ts.map +1 -0
- package/.dist/esm/src/nodes/member/tupleMember.d.ts +1 -0
- package/.dist/esm/src/nodes/member/tupleMember.d.ts.map +1 -0
- package/.dist/esm/src/nodes/native/Iterable.d.ts +1 -0
- package/.dist/esm/src/nodes/native/Iterable.d.ts.map +1 -0
- package/.dist/esm/src/nodes/native/map.d.ts +1 -0
- package/.dist/esm/src/nodes/native/map.d.ts.map +1 -0
- package/.dist/esm/src/nodes/native/nonSerializable.d.ts +1 -0
- package/.dist/esm/src/nodes/native/nonSerializable.d.ts.map +1 -0
- package/.dist/esm/src/nodes/native/promise.d.ts +1 -0
- package/.dist/esm/src/nodes/native/promise.d.ts.map +1 -0
- package/.dist/esm/src/nodes/native/set.d.ts +1 -0
- package/.dist/esm/src/nodes/native/set.d.ts.map +1 -0
- package/.dist/esm/src/run-types-pure-fns.d.ts +1 -0
- package/.dist/esm/src/run-types-pure-fns.d.ts.map +1 -0
- package/.dist/esm/src/types.d.ts +1 -0
- package/.dist/esm/src/types.d.ts.map +1 -0
- package/index.ts +70 -0
- package/package.json +11 -4
- package/src/constants.functions.ts +196 -0
- package/src/constants.kind.ts +76 -0
- package/src/constants.ts +85 -0
- package/src/createRunType.ts +323 -0
- package/src/createRunTypeFunctions.ts +93 -0
- package/src/formats.runtype.ts +35 -0
- package/src/jitCompilers/binary/binarySPEC.md +138 -0
- package/src/jitCompilers/binary/binarySpec/binaryHelpers.ts +118 -0
- package/src/jitCompilers/binary/fromBinary.ts +492 -0
- package/src/jitCompilers/binary/toBinary.ts +435 -0
- package/src/jitCompilers/equalsHelpers.ts +62 -0
- package/src/jitCompilers/json/jsonSpec/jsonHelpers.ts +64 -0
- package/src/jitCompilers/json/stringifyJson.ts +475 -0
- package/src/jitCompilers/json/stringifySpec/stringifyHelpers.ts +59 -0
- package/src/jitCompilers/json/toJsCode.ts +182 -0
- package/src/jitCompilers/serialization-suite.ts +1637 -0
- package/src/jitCompilers/xyz-Template/fromXYZ.ts +211 -0
- package/src/jitCompilers/xyz-Template/toXYZ.ts +216 -0
- package/src/jitCompilers/xyz-Template/xyzReadme.md +6 -0
- package/src/jitCompilers/xyz-Template/xyzSpec/xyzHelpers.ts +66 -0
- package/src/lib/baseRunTypeFormat.ts +320 -0
- package/src/lib/baseRunTypes.ts +367 -0
- package/src/lib/createJitFunction.ts +87 -0
- package/src/lib/dkProxy.ts +47 -0
- package/src/lib/formats.ts +144 -0
- package/src/lib/guards.ts +290 -0
- package/src/lib/jitFnCompiler.ts +783 -0
- package/src/lib/jitFnsRegistry.ts +53 -0
- package/src/lib/typeId.ts +225 -0
- package/src/lib/utils.ts +402 -0
- package/src/mocking/constants.mock.ts +87 -0
- package/src/mocking/mockRegistry.ts +20 -0
- package/src/mocking/mockType.ts +354 -0
- package/src/mocking/mockUtils.ts +82 -0
- package/src/nodes/atomic/any.ts +22 -0
- package/src/nodes/atomic/bigInt.ts +26 -0
- package/src/nodes/atomic/boolean.ts +26 -0
- package/src/nodes/atomic/date.ts +26 -0
- package/src/nodes/atomic/enum.ts +23 -0
- package/src/nodes/atomic/enumMember.ts +29 -0
- package/src/nodes/atomic/literal.ts +125 -0
- package/src/nodes/atomic/never.ts +26 -0
- package/src/nodes/atomic/null.ts +26 -0
- package/src/nodes/atomic/number.ts +26 -0
- package/src/nodes/atomic/object.ts +20 -0
- package/src/nodes/atomic/regexp.ts +29 -0
- package/src/nodes/atomic/string.ts +20 -0
- package/src/nodes/atomic/symbol.ts +31 -0
- package/src/nodes/atomic/undefined.ts +23 -0
- package/src/nodes/atomic/unknown.ts +10 -0
- package/src/nodes/atomic/void.ts +26 -0
- package/src/nodes/collection/class.ts +36 -0
- package/src/nodes/collection/functionParams.ts +42 -0
- package/src/nodes/collection/interface.ts +300 -0
- package/src/nodes/collection/intersection.ts +30 -0
- package/src/nodes/collection/tuple.ts +80 -0
- package/src/nodes/collection/union.ts +205 -0
- package/src/nodes/collection/unionDiscriminator.ts +259 -0
- package/src/nodes/function/function.ts +166 -0
- package/src/nodes/member/array.ts +150 -0
- package/src/nodes/member/callSignature.ts +34 -0
- package/src/nodes/member/genericMember.ts +63 -0
- package/src/nodes/member/indexProperty.ts +125 -0
- package/src/nodes/member/method.ts +30 -0
- package/src/nodes/member/methodSignature.ts +31 -0
- package/src/nodes/member/param.ts +22 -0
- package/src/nodes/member/property.ts +75 -0
- package/src/nodes/member/restParams.ts +22 -0
- package/src/nodes/member/tupleMember.ts +93 -0
- package/src/nodes/native/Iterable.ts +153 -0
- package/src/nodes/native/map.ts +91 -0
- package/src/nodes/native/nonSerializable.ts +42 -0
- package/src/nodes/native/promise.ts +43 -0
- package/src/nodes/native/set.ts +56 -0
- package/src/run-types-pure-fns.ts +116 -0
- package/src/types.ts +206 -0
package/index.ts
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/* ########
|
|
2
|
+
* 2024 mion
|
|
3
|
+
* Author: Ma-jerez
|
|
4
|
+
* License: MIT
|
|
5
|
+
* The software is provided "as is", without warranty of any kind.
|
|
6
|
+
* ######## */
|
|
7
|
+
|
|
8
|
+
// Re-export all modules from the package.json exports field
|
|
9
|
+
export * from './src/types.ts';
|
|
10
|
+
export * from './src/constants.functions.ts';
|
|
11
|
+
export * from './src/constants.kind.ts';
|
|
12
|
+
export * from './src/constants.ts';
|
|
13
|
+
export * from './src/createRunType.ts';
|
|
14
|
+
export * from './src/createRunTypeFunctions.ts';
|
|
15
|
+
export * from './src/formats.runtype.ts';
|
|
16
|
+
export * from './src/lib/typeId.ts';
|
|
17
|
+
export * from './src/lib/dkProxy.ts';
|
|
18
|
+
export * from './src/lib/baseRunTypeFormat.ts';
|
|
19
|
+
export * from './src/lib/baseRunTypes.ts';
|
|
20
|
+
export * from './src/lib/formats.ts';
|
|
21
|
+
export * from './src/lib/guards.ts';
|
|
22
|
+
export * from './src/lib/jitFnCompiler.ts';
|
|
23
|
+
export * from './src/lib/jitFnsRegistry.ts';
|
|
24
|
+
export * from './src/mocking/constants.mock.ts';
|
|
25
|
+
export * from './src/mocking/mockRegistry.ts';
|
|
26
|
+
export * from './src/mocking/mockType.ts';
|
|
27
|
+
export * from './src/mocking/mockUtils.ts';
|
|
28
|
+
export * from './src/run-types-pure-fns.ts';
|
|
29
|
+
|
|
30
|
+
// TODO: decide if we want to export all nodes or not
|
|
31
|
+
export type * from './src/nodes/atomic/any.ts';
|
|
32
|
+
export type * from './src/nodes/atomic/bigInt.ts';
|
|
33
|
+
export type * from './src/nodes/atomic/boolean.ts';
|
|
34
|
+
export type * from './src/nodes/atomic/date.ts';
|
|
35
|
+
export type * from './src/nodes/atomic/enum.ts';
|
|
36
|
+
export type * from './src/nodes/atomic/enumMember.ts';
|
|
37
|
+
export type * from './src/nodes/atomic/literal.ts';
|
|
38
|
+
export type * from './src/nodes/atomic/never.ts';
|
|
39
|
+
export type * from './src/nodes/atomic/null.ts';
|
|
40
|
+
export type * from './src/nodes/atomic/number.ts';
|
|
41
|
+
export type * from './src/nodes/atomic/object.ts';
|
|
42
|
+
export type * from './src/nodes/atomic/regexp.ts';
|
|
43
|
+
export type * from './src/nodes/atomic/string.ts';
|
|
44
|
+
export type * from './src/nodes/atomic/symbol.ts';
|
|
45
|
+
export type * from './src/nodes/atomic/undefined.ts';
|
|
46
|
+
export type * from './src/nodes/atomic/unknown.ts';
|
|
47
|
+
export type * from './src/nodes/atomic/void.ts';
|
|
48
|
+
export type * from './src/nodes/collection/class.ts';
|
|
49
|
+
export type * from './src/nodes/collection/functionParams.ts';
|
|
50
|
+
export type * from './src/nodes/collection/interface.ts';
|
|
51
|
+
export type * from './src/nodes/collection/intersection.ts';
|
|
52
|
+
export type * from './src/nodes/collection/tuple.ts';
|
|
53
|
+
export type * from './src/nodes/collection/union.ts';
|
|
54
|
+
export type * from './src/nodes/collection/unionDiscriminator.ts';
|
|
55
|
+
export type * from './src/nodes/function/function.ts';
|
|
56
|
+
export type * from './src/nodes/member/array.ts';
|
|
57
|
+
export type * from './src/nodes/member/callSignature.ts';
|
|
58
|
+
export type * from './src/nodes/member/genericMember.ts';
|
|
59
|
+
export type * from './src/nodes/member/indexProperty.ts';
|
|
60
|
+
export type * from './src/nodes/member/method.ts';
|
|
61
|
+
export type * from './src/nodes/member/methodSignature.ts';
|
|
62
|
+
export type * from './src/nodes/member/param.ts';
|
|
63
|
+
export type * from './src/nodes/member/property.ts';
|
|
64
|
+
export type * from './src/nodes/member/restParams.ts';
|
|
65
|
+
export type * from './src/nodes/member/tupleMember.ts';
|
|
66
|
+
export type * from './src/nodes/native/Iterable.ts';
|
|
67
|
+
export type * from './src/nodes/native/map.ts';
|
|
68
|
+
export type * from './src/nodes/native/nonSerializable.ts';
|
|
69
|
+
export type * from './src/nodes/native/promise.ts';
|
|
70
|
+
export type * from './src/nodes/native/set.ts';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mionjs/run-types",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.8",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Run time functionality directly from typescript types",
|
|
6
6
|
"keywords": [
|
|
@@ -35,7 +35,11 @@
|
|
|
35
35
|
"lib": ".dist"
|
|
36
36
|
},
|
|
37
37
|
"files": [
|
|
38
|
-
".dist"
|
|
38
|
+
".dist",
|
|
39
|
+
"index.ts",
|
|
40
|
+
"src",
|
|
41
|
+
"!src/**/*.spec.ts",
|
|
42
|
+
"!src/**/*.test.ts"
|
|
39
43
|
],
|
|
40
44
|
"repository": {
|
|
41
45
|
"type": "git",
|
|
@@ -60,7 +64,10 @@
|
|
|
60
64
|
"dependencies": {
|
|
61
65
|
"@deepkit/core": "1.0.19",
|
|
62
66
|
"@deepkit/type": "1.0.19",
|
|
63
|
-
"@mionjs/core": "0.8.
|
|
67
|
+
"@mionjs/core": "0.8.8"
|
|
64
68
|
},
|
|
65
|
-
"
|
|
69
|
+
"peerDependencies": {
|
|
70
|
+
"typescript": ">=6.0.0"
|
|
71
|
+
},
|
|
72
|
+
"gitHead": "a92a438011336a078d394b75054422f3a56f8468"
|
|
66
73
|
}
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
/* ########
|
|
2
|
+
* 2025 mion
|
|
3
|
+
* Author: Ma-jerez
|
|
4
|
+
* License: MIT
|
|
5
|
+
* The software is provided "as is", without warranty of any kind.
|
|
6
|
+
* ######## */
|
|
7
|
+
|
|
8
|
+
import {type JitFnArgs, JIT_FUNCTION_IDS} from '@mionjs/core';
|
|
9
|
+
|
|
10
|
+
/** Javascript code types */
|
|
11
|
+
export const CodeTypes = {
|
|
12
|
+
expression: 'E', // single expression, that could be concatenated using js operators like + - * && || etc...
|
|
13
|
+
statement: 'S', // one or multiple statements, that could be concatenated using ; to ensure correct syntax
|
|
14
|
+
returnBlock: 'RB', // code block, it can not be concatenated with other code, it has an explicit return statement and needs to be wrapped in a function
|
|
15
|
+
} as const;
|
|
16
|
+
export type CodeType = (typeof CodeTypes)[keyof typeof CodeTypes];
|
|
17
|
+
|
|
18
|
+
export interface JitFnSettings {
|
|
19
|
+
id: string;
|
|
20
|
+
name: string;
|
|
21
|
+
/** dynamically imports a single compiler function that is capable of compiling any node
|
|
22
|
+
* @see {@link ./jitCompilers/stringifyJson.ts#visitJsonStringify} as example of compiler function
|
|
23
|
+
*/
|
|
24
|
+
import?: () => Promise<(...args: any[]) => any>;
|
|
25
|
+
jitArgs: JitFnArgs;
|
|
26
|
+
jitDefaultArgs: JitFnArgs;
|
|
27
|
+
returnName: string;
|
|
28
|
+
/**
|
|
29
|
+
* When no initial vλl is required by the function.
|
|
30
|
+
* This is typically used by deserializers, that do not transform the input value but create a new one from other params.
|
|
31
|
+
* an the initial vλl is used as a variable initialization for the returned values.
|
|
32
|
+
* ie binary deserialization
|
|
33
|
+
*/
|
|
34
|
+
noInitialVλl?: true;
|
|
35
|
+
runTimeOptions?: Record<string, {keyName: string; type: 'boolean' | 'number' | 'string'; defaultValue: any}>;
|
|
36
|
+
/**
|
|
37
|
+
* When set to true, the format code should replace the jit code for the function.
|
|
38
|
+
* This is used when the format code is more efficient than the default code.
|
|
39
|
+
*/
|
|
40
|
+
formatShouldReplaceJitCode?: true;
|
|
41
|
+
} // list of available jit functions
|
|
42
|
+
|
|
43
|
+
// variable names used in jit functions
|
|
44
|
+
// JitUtils is passed with the name 'utl'. it is hardcoded in all jit code to avoid string interpolation
|
|
45
|
+
export const jitArgs = {vλl: 'v'} as const;
|
|
46
|
+
export const jitDefaultArgs = {vλl: ''} as const;
|
|
47
|
+
export const jitErrorArgs = {vλl: 'v', pλth: 'pth', εrr: 'er'} as const;
|
|
48
|
+
export const jitDefaultErrorArgs = {vλl: '', pλth: '[]', εrr: '[]'} as const;
|
|
49
|
+
export const jitArgsWithOptions = {vλl: 'v', θpts: 'opts'} as const;
|
|
50
|
+
export const jitDefaultArgsWithOptions = {vλl: '', θpts: '{}'} as const;
|
|
51
|
+
export const jitBinarySerializerArgs = {vλl: 'v', sεr: 'Ser'} as const; // vλl = js value to serialize ser = serializer,
|
|
52
|
+
export const jitBinaryDeserializerArgs = {vλl: 'ret', dεs: 'Des'} as const; // vλl is used as return variable ans is assigned the deserialized value, des = deserializer
|
|
53
|
+
export const jitDefaultBinarySerializerArgs = {vλl: '', sεr: ''} as const;
|
|
54
|
+
export const jitDefaultBinaryDeserializerArgs = {vλl: '', dεs: ''} as const;
|
|
55
|
+
|
|
56
|
+
// ######## !IMPORTANT: ALL JIT FUNCTIONS IDs MUST BE UNIQUE and short ########
|
|
57
|
+
|
|
58
|
+
type JitFunctionsGroup = {[key: string]: JitFnSettings};
|
|
59
|
+
|
|
60
|
+
export const jitValidationFunctions = {
|
|
61
|
+
isType: {
|
|
62
|
+
id: JIT_FUNCTION_IDS.isType,
|
|
63
|
+
name: 'isType',
|
|
64
|
+
jitArgs,
|
|
65
|
+
jitDefaultArgs,
|
|
66
|
+
returnName: jitArgs.vλl,
|
|
67
|
+
},
|
|
68
|
+
typeErrors: {
|
|
69
|
+
id: JIT_FUNCTION_IDS.typeErrors,
|
|
70
|
+
name: 'typeErrors',
|
|
71
|
+
jitArgs: jitErrorArgs,
|
|
72
|
+
jitDefaultArgs: jitDefaultErrorArgs,
|
|
73
|
+
returnName: jitErrorArgs.εrr,
|
|
74
|
+
},
|
|
75
|
+
} as const satisfies JitFunctionsGroup;
|
|
76
|
+
|
|
77
|
+
export const jitSerializationFunctions = {
|
|
78
|
+
prepareForJson: {
|
|
79
|
+
id: JIT_FUNCTION_IDS.prepareForJson,
|
|
80
|
+
name: 'prepareForJson',
|
|
81
|
+
jitArgs,
|
|
82
|
+
jitDefaultArgs,
|
|
83
|
+
returnName: jitArgs.vλl,
|
|
84
|
+
},
|
|
85
|
+
restoreFromJson: {
|
|
86
|
+
id: JIT_FUNCTION_IDS.restoreFromJson,
|
|
87
|
+
name: 'restoreFromJson',
|
|
88
|
+
jitArgs,
|
|
89
|
+
jitDefaultArgs,
|
|
90
|
+
returnName: jitArgs.vλl,
|
|
91
|
+
},
|
|
92
|
+
stringifyJson: {
|
|
93
|
+
id: JIT_FUNCTION_IDS.stringifyJson,
|
|
94
|
+
name: 'stringifyJson',
|
|
95
|
+
jitArgs,
|
|
96
|
+
jitDefaultArgs,
|
|
97
|
+
returnName: jitArgs.vλl,
|
|
98
|
+
},
|
|
99
|
+
// similar to json stringify but outputs js code, including pure functions, already imported as size is quite small
|
|
100
|
+
toJSCode: {
|
|
101
|
+
id: JIT_FUNCTION_IDS.toJSCode,
|
|
102
|
+
name: 'toJSCode',
|
|
103
|
+
jitArgs,
|
|
104
|
+
jitDefaultArgs,
|
|
105
|
+
returnName: jitArgs.vλl,
|
|
106
|
+
},
|
|
107
|
+
// Binary serialization functions
|
|
108
|
+
toBinary: {
|
|
109
|
+
id: JIT_FUNCTION_IDS.toBinary,
|
|
110
|
+
name: 'toBinary',
|
|
111
|
+
jitArgs: jitBinarySerializerArgs,
|
|
112
|
+
jitDefaultArgs: jitDefaultBinarySerializerArgs,
|
|
113
|
+
// returns the serializer buffer
|
|
114
|
+
returnName: jitBinarySerializerArgs.sεr,
|
|
115
|
+
formatShouldReplaceJitCode: true,
|
|
116
|
+
},
|
|
117
|
+
fromBinary: {
|
|
118
|
+
id: JIT_FUNCTION_IDS.fromBinary,
|
|
119
|
+
name: 'fromBinary',
|
|
120
|
+
jitArgs: jitBinaryDeserializerArgs,
|
|
121
|
+
jitDefaultArgs: jitDefaultBinaryDeserializerArgs,
|
|
122
|
+
// deserialized value is stored in vλl that is initially undefined
|
|
123
|
+
returnName: jitBinaryDeserializerArgs.vλl,
|
|
124
|
+
noInitialVλl: true,
|
|
125
|
+
formatShouldReplaceJitCode: true,
|
|
126
|
+
},
|
|
127
|
+
// apply type formatters, ie: lowercase, uppercase, trim, etc
|
|
128
|
+
format: {
|
|
129
|
+
id: JIT_FUNCTION_IDS.format,
|
|
130
|
+
name: 'format',
|
|
131
|
+
jitArgs,
|
|
132
|
+
jitDefaultArgs,
|
|
133
|
+
returnName: jitArgs.vλl,
|
|
134
|
+
},
|
|
135
|
+
} as const satisfies JitFunctionsGroup;
|
|
136
|
+
|
|
137
|
+
export const JitFunctions = {
|
|
138
|
+
...jitValidationFunctions,
|
|
139
|
+
...jitSerializationFunctions,
|
|
140
|
+
unknownKeyErrors: {
|
|
141
|
+
id: JIT_FUNCTION_IDS.unknownKeyErrors,
|
|
142
|
+
name: 'unknownKeyErrors',
|
|
143
|
+
jitArgs: jitErrorArgs,
|
|
144
|
+
jitDefaultArgs: jitDefaultErrorArgs,
|
|
145
|
+
returnName: jitErrorArgs.εrr,
|
|
146
|
+
},
|
|
147
|
+
hasUnknownKeys: {
|
|
148
|
+
id: JIT_FUNCTION_IDS.hasUnknownKeys,
|
|
149
|
+
name: 'hasUnknownKeys',
|
|
150
|
+
jitArgs: jitArgsWithOptions,
|
|
151
|
+
jitDefaultArgs: jitDefaultArgsWithOptions,
|
|
152
|
+
runTimeOptions: {checkNonJitProps: {keyName: 'checkNonJitProps', type: 'boolean', defaultValue: false}},
|
|
153
|
+
returnName: jitArgsWithOptions.vλl,
|
|
154
|
+
},
|
|
155
|
+
stripUnknownKeys: {
|
|
156
|
+
id: JIT_FUNCTION_IDS.stripUnknownKeys,
|
|
157
|
+
name: 'stripUnknownKeys',
|
|
158
|
+
jitArgs,
|
|
159
|
+
jitDefaultArgs,
|
|
160
|
+
returnName: jitArgs.vλl,
|
|
161
|
+
},
|
|
162
|
+
unknownKeysToUndefined: {
|
|
163
|
+
id: JIT_FUNCTION_IDS.unknownKeysToUndefined,
|
|
164
|
+
name: 'unknownKeysToUndefined',
|
|
165
|
+
jitArgs,
|
|
166
|
+
jitDefaultArgs,
|
|
167
|
+
returnName: jitArgs.vλl,
|
|
168
|
+
},
|
|
169
|
+
aux: {
|
|
170
|
+
id: JIT_FUNCTION_IDS.aux,
|
|
171
|
+
name: 'aux',
|
|
172
|
+
jitArgs,
|
|
173
|
+
jitDefaultArgs,
|
|
174
|
+
returnName: jitArgs.vλl,
|
|
175
|
+
},
|
|
176
|
+
// mock is not really a jit function but is used in a similar way, main difference is that it is not compiled
|
|
177
|
+
mock: {
|
|
178
|
+
id: JIT_FUNCTION_IDS.mock,
|
|
179
|
+
name: 'mockType',
|
|
180
|
+
import: () => import('./mocking/mockType.ts').then((m) => m.mockType),
|
|
181
|
+
jitArgs,
|
|
182
|
+
jitDefaultArgs,
|
|
183
|
+
returnName: jitArgs.vλl,
|
|
184
|
+
},
|
|
185
|
+
// pure function are not jit compiled but we ensure we reserve a prefix to avoid collisions
|
|
186
|
+
pureFunction: {
|
|
187
|
+
id: JIT_FUNCTION_IDS.pureFunction,
|
|
188
|
+
name: 'pureFunction',
|
|
189
|
+
jitArgs,
|
|
190
|
+
jitDefaultArgs,
|
|
191
|
+
returnName: jitArgs.vλl,
|
|
192
|
+
},
|
|
193
|
+
} as const satisfies JitFunctionsGroup;
|
|
194
|
+
|
|
195
|
+
export const jitFunctionList: JitFnSettings[] = Object.values(JitFunctions);
|
|
196
|
+
export const jitFunctionsById = Object.fromEntries(jitFunctionList.map((f) => [f.id, f]));
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/* ########
|
|
2
|
+
* 2024 mion
|
|
3
|
+
* Author: Ma-jerez
|
|
4
|
+
* License: MIT
|
|
5
|
+
* The software is provided "as is", without warranty of any kind.
|
|
6
|
+
* ######## */
|
|
7
|
+
|
|
8
|
+
import {ReflectionKind} from '@deepkit/type';
|
|
9
|
+
import {RunType} from './types.ts';
|
|
10
|
+
|
|
11
|
+
export const ReflectionKindName: {[key: number]: keyof typeof ReflectionKind} = {
|
|
12
|
+
0: 'never',
|
|
13
|
+
1: 'any',
|
|
14
|
+
2: 'unknown',
|
|
15
|
+
3: 'void',
|
|
16
|
+
4: 'objectLiteral', // name was changed from deepkit's 'object' to 'objectLiteral'
|
|
17
|
+
5: 'string',
|
|
18
|
+
6: 'number',
|
|
19
|
+
7: 'boolean',
|
|
20
|
+
8: 'symbol',
|
|
21
|
+
9: 'bigint',
|
|
22
|
+
10: 'null',
|
|
23
|
+
11: 'undefined',
|
|
24
|
+
12: 'regexp',
|
|
25
|
+
13: 'literal',
|
|
26
|
+
14: 'templateLiteral',
|
|
27
|
+
15: 'property',
|
|
28
|
+
16: 'method',
|
|
29
|
+
17: 'function',
|
|
30
|
+
18: 'parameter',
|
|
31
|
+
19: 'promise',
|
|
32
|
+
20: 'class',
|
|
33
|
+
21: 'typeParameter',
|
|
34
|
+
22: 'enum',
|
|
35
|
+
23: 'union',
|
|
36
|
+
24: 'intersection',
|
|
37
|
+
25: 'array',
|
|
38
|
+
26: 'tuple',
|
|
39
|
+
27: 'tupleMember',
|
|
40
|
+
28: 'enumMember',
|
|
41
|
+
29: 'rest',
|
|
42
|
+
30: 'object', // name was changed from deepkit's 'objectLiteral' to 'object' for better error messages
|
|
43
|
+
31: 'indexSignature',
|
|
44
|
+
32: 'propertySignature',
|
|
45
|
+
33: 'methodSignature',
|
|
46
|
+
34: 'infer',
|
|
47
|
+
35: 'callSignature',
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
// ReflectionKind from deepkit is extended with the following sub kinds
|
|
51
|
+
export const ReflectionSubKind = {
|
|
52
|
+
// group of sub-kinds that extends ReflectionKind.class
|
|
53
|
+
date: 20_01,
|
|
54
|
+
map: 20_02,
|
|
55
|
+
set: 20_03,
|
|
56
|
+
nonSerializable: 20_04,
|
|
57
|
+
|
|
58
|
+
params: 17_01,
|
|
59
|
+
mapKey: 18_01,
|
|
60
|
+
mapValue: 18_02,
|
|
61
|
+
setItem: 18_03,
|
|
62
|
+
} as const;
|
|
63
|
+
|
|
64
|
+
export const ReflectionSubNames: {[key: number]: keyof typeof ReflectionSubKind} = {
|
|
65
|
+
20_01: 'date',
|
|
66
|
+
20_02: 'map',
|
|
67
|
+
20_03: 'set',
|
|
68
|
+
17_01: 'params',
|
|
69
|
+
} as const;
|
|
70
|
+
|
|
71
|
+
export type AnyKindName = keyof typeof ReflectionKind | keyof typeof ReflectionSubKind;
|
|
72
|
+
|
|
73
|
+
export function getReflectionName(rt: RunType): AnyKindName {
|
|
74
|
+
if (rt.src.subKind) return ReflectionSubNames[rt.src.subKind];
|
|
75
|
+
return ReflectionKindName[rt.src.kind];
|
|
76
|
+
}
|
package/src/constants.ts
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/* ########
|
|
2
|
+
* 2024 mion
|
|
3
|
+
* Author: Ma-jerez
|
|
4
|
+
* License: MIT
|
|
5
|
+
* The software is provided "as is", without warranty of any kind.
|
|
6
|
+
* ######## */
|
|
7
|
+
|
|
8
|
+
// native javascript objects that are not serializable
|
|
9
|
+
export const nonSerializableClasses = [
|
|
10
|
+
// TODO: decide what to do with native errors, they should be easily serializable
|
|
11
|
+
Error,
|
|
12
|
+
EvalError,
|
|
13
|
+
RangeError,
|
|
14
|
+
ReferenceError,
|
|
15
|
+
SyntaxError,
|
|
16
|
+
TypeError,
|
|
17
|
+
URIError,
|
|
18
|
+
AggregateError,
|
|
19
|
+
// Promise, // Promise has it's own RunType
|
|
20
|
+
// data types
|
|
21
|
+
WeakMap,
|
|
22
|
+
WeakSet,
|
|
23
|
+
DataView,
|
|
24
|
+
ArrayBuffer,
|
|
25
|
+
SharedArrayBuffer,
|
|
26
|
+
Float32Array,
|
|
27
|
+
Float64Array,
|
|
28
|
+
Int8Array,
|
|
29
|
+
Int16Array,
|
|
30
|
+
Int32Array,
|
|
31
|
+
Uint8Array,
|
|
32
|
+
Uint8ClampedArray,
|
|
33
|
+
Uint16Array,
|
|
34
|
+
Uint32Array,
|
|
35
|
+
BigInt64Array,
|
|
36
|
+
BigUint64Array,
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
// these are global objects that are not serializable.
|
|
40
|
+
// values are repeated from nonSerializableClasses, as if they are classes or global object depends in typescript stn lib types and these can change
|
|
41
|
+
export const nonSerializableGlobals = [
|
|
42
|
+
// TODO: decide what to do with native errors, they should be easily serializable
|
|
43
|
+
'Error',
|
|
44
|
+
'EvalError',
|
|
45
|
+
'RangeError',
|
|
46
|
+
'ReferenceError',
|
|
47
|
+
'SyntaxError',
|
|
48
|
+
'TypeError',
|
|
49
|
+
'URIError',
|
|
50
|
+
'AggregateError',
|
|
51
|
+
// data types
|
|
52
|
+
'WeakMap',
|
|
53
|
+
'WeakSet',
|
|
54
|
+
'DataView',
|
|
55
|
+
'ArrayBuffer',
|
|
56
|
+
'SharedArrayBuffer',
|
|
57
|
+
'Float32Array',
|
|
58
|
+
'Float64Array',
|
|
59
|
+
'Int8Array',
|
|
60
|
+
'Int16Array',
|
|
61
|
+
'Int32Array',
|
|
62
|
+
'Uint8Array',
|
|
63
|
+
'Uint8ClampedArray',
|
|
64
|
+
'Uint16Array',
|
|
65
|
+
'Uint32Array',
|
|
66
|
+
'BigInt64Array',
|
|
67
|
+
'BigUint64Array',
|
|
68
|
+
// bellow are common interface names from standard libraries, they added here but not tested
|
|
69
|
+
'Generator',
|
|
70
|
+
'GeneratorFunction',
|
|
71
|
+
'AsyncGenerator',
|
|
72
|
+
'Iterator',
|
|
73
|
+
'AsyncGeneratorFunction',
|
|
74
|
+
'AsyncIterator',
|
|
75
|
+
];
|
|
76
|
+
|
|
77
|
+
// typescript utility types
|
|
78
|
+
export const nativeUtilityStringTypes = ['Uppercase', 'Lowercase', 'Capitalize', 'Uncapitalize'];
|
|
79
|
+
|
|
80
|
+
// other constants
|
|
81
|
+
export const validPropertyNameRegExp = /^[a-zA-Z_][a-zA-Z0-9_]*$/;
|
|
82
|
+
export const maxStackErrorMessage =
|
|
83
|
+
'Max compilation nested level reached, either you have a very deeply nested type or there is an error related to circular references un the types.';
|
|
84
|
+
export const JIT_STACK_TRACE_MESSAGE = '\nJIT runType trace => ';
|
|
85
|
+
export const MAX_UNION_ITEMS = 2 ** 16 - 1;
|