@mionjs/run-types 0.8.10 → 0.13.2
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/LICENSE +1 -1
- package/README.md +22 -24
- package/bin/skills.mjs +111 -0
- package/dist/builders/atomic.d.ts +13 -0
- package/dist/builders/atomic.js +32 -0
- package/dist/builders/atomic.js.map +1 -0
- package/dist/builders/compose.d.ts +61 -0
- package/dist/builders/compose.js +103 -0
- package/dist/builders/compose.js.map +1 -0
- package/dist/builders/index.d.ts +6 -0
- package/dist/builders/index.js +5 -0
- package/dist/builders/index.js.map +1 -0
- package/dist/builders/static.d.ts +138 -0
- package/dist/builders/static.js +2 -0
- package/dist/builders/static.js.map +1 -0
- package/dist/builders/utility.d.ts +13 -0
- package/dist/builders/utility.js +32 -0
- package/dist/builders/utility.js.map +1 -0
- package/dist/cjs/builders/atomic.d.ts +12 -0
- package/dist/cjs/builders/atomic.js +43 -0
- package/dist/cjs/builders/compose.d.ts +60 -0
- package/dist/cjs/builders/compose.js +122 -0
- package/dist/cjs/builders/index.d.ts +5 -0
- package/dist/cjs/builders/index.js +48 -0
- package/dist/cjs/builders/static.d.ts +137 -0
- package/dist/cjs/builders/static.js +2 -0
- package/dist/cjs/builders/utility.d.ts +12 -0
- package/dist/cjs/builders/utility.js +43 -0
- package/dist/cjs/createRTFunctions.d.ts +90 -0
- package/dist/cjs/createRTFunctions.js +38 -0
- package/dist/cjs/enrich/createFriendlyText.d.ts +25 -0
- package/dist/cjs/enrich/createFriendlyText.js +275 -0
- package/dist/cjs/enrich/friendlyText.d.ts +56 -0
- package/dist/cjs/enrich/friendlyText.js +2 -0
- package/dist/cjs/enrich/mockData.d.ts +53 -0
- package/dist/cjs/enrich/mockData.js +2 -0
- package/dist/cjs/fnHash.d.ts +8 -0
- package/dist/cjs/fnHash.js +41 -0
- package/dist/cjs/formats/bigintFormats.d.ts +41 -0
- package/dist/cjs/formats/bigintFormats.js +10 -0
- package/dist/cjs/formats/datetime/dateFormats.d.ts +10 -0
- package/dist/cjs/formats/datetime/dateFormats.js +2 -0
- package/dist/cjs/formats/datetime/dateTime-pure-fns.d.ts +21 -0
- package/dist/cjs/formats/datetime/dateTime-pure-fns.js +405 -0
- package/dist/cjs/formats/datetime/dateTimeParams.d.ts +14 -0
- package/dist/cjs/formats/datetime/dateTimeParams.js +2 -0
- package/dist/cjs/formats/datetime/stringDateTimeFormats.d.ts +33 -0
- package/dist/cjs/formats/datetime/stringDateTimeFormats.js +2 -0
- package/dist/cjs/formats/datetime/temporalFormats.d.ts +84 -0
- package/dist/cjs/formats/datetime/temporalFormats.js +23 -0
- package/dist/cjs/formats/index.d.ts +18 -0
- package/dist/cjs/formats/index.js +88 -0
- package/dist/cjs/formats/numberFormats.d.ts +82 -0
- package/dist/cjs/formats/numberFormats.js +16 -0
- package/dist/cjs/formats/refineFormat.d.ts +24 -0
- package/dist/cjs/formats/refineFormat.js +2 -0
- package/dist/cjs/formats/scalars.d.ts +32 -0
- package/dist/cjs/formats/scalars.js +30 -0
- package/dist/cjs/formats/string/credit-card-pure-fns.d.ts +26 -0
- package/dist/cjs/formats/string/credit-card-pure-fns.js +151 -0
- package/dist/cjs/formats/string/string-formats-pure-fns.d.ts +12 -0
- package/dist/cjs/formats/string/string-formats-pure-fns.js +517 -0
- package/dist/cjs/formats/string/string-patterns.d.ts +111 -0
- package/dist/cjs/formats/string/string-patterns.js +115 -0
- package/dist/cjs/formats/string/stringFormats.d.ts +489 -0
- package/dist/cjs/formats/string/stringFormats.js +84 -0
- package/dist/cjs/formats/structural.d.ts +105 -0
- package/dist/cjs/formats/structural.js +7 -0
- package/dist/cjs/getRunType.d.ts +4 -0
- package/dist/cjs/getRunType.js +20 -0
- package/dist/cjs/go-generated/fnHashes.generated.d.ts +196 -0
- package/dist/cjs/go-generated/fnHashes.generated.js +78 -0
- package/dist/cjs/go-generated/formatErrorKeys.generated.d.ts +78 -0
- package/dist/cjs/go-generated/formatErrorKeys.generated.js +40 -0
- package/dist/cjs/go-generated/runTypeKind.generated.d.ts +62 -0
- package/dist/cjs/go-generated/runTypeKind.generated.js +61 -0
- package/dist/cjs/go-generated/typeFormats.generated.d.ts +104 -0
- package/dist/cjs/go-generated/typeFormats.generated.js +30 -0
- package/dist/cjs/index.d.ts +28 -0
- package/dist/cjs/index.js +47 -0
- package/dist/cjs/markers.d.ts +33 -0
- package/dist/cjs/markers.js +14 -0
- package/dist/cjs/mocking/childMatch.d.ts +3 -0
- package/dist/cjs/mocking/childMatch.js +357 -0
- package/dist/cjs/mocking/constants.mock.d.ts +7 -0
- package/dist/cjs/mocking/constants.mock.js +87 -0
- package/dist/cjs/mocking/createMockData.d.ts +8 -0
- package/dist/cjs/mocking/createMockData.js +53 -0
- package/dist/cjs/mocking/index.d.ts +4 -0
- package/dist/cjs/mocking/index.js +9 -0
- package/dist/cjs/mocking/isMultipleOf.d.ts +2 -0
- package/dist/cjs/mocking/isMultipleOf.js +11 -0
- package/dist/cjs/mocking/mockBigIntFormat.d.ts +1 -0
- package/dist/cjs/mocking/mockBigIntFormat.js +38 -0
- package/dist/cjs/mocking/mockDateTimeBounds.d.ts +13 -0
- package/dist/cjs/mocking/mockDateTimeBounds.js +277 -0
- package/dist/cjs/mocking/mockInvalid.d.ts +15 -0
- package/dist/cjs/mocking/mockInvalid.js +233 -0
- package/dist/cjs/mocking/mockNumberFormat.d.ts +1 -0
- package/dist/cjs/mocking/mockNumberFormat.js +56 -0
- package/dist/cjs/mocking/mockRandom.d.ts +20 -0
- package/dist/cjs/mocking/mockRandom.js +106 -0
- package/dist/cjs/mocking/mockRegistry.d.ts +7 -0
- package/dist/cjs/mocking/mockRegistry.js +11 -0
- package/dist/cjs/mocking/mockStringFormat.d.ts +5 -0
- package/dist/cjs/mocking/mockStringFormat.js +238 -0
- package/dist/cjs/mocking/mockTemporal.d.ts +13 -0
- package/dist/cjs/mocking/mockTemporal.js +233 -0
- package/dist/cjs/mocking/mockType.d.ts +3 -0
- package/dist/cjs/mocking/mockType.js +810 -0
- package/dist/cjs/mocking/mockTypes.d.ts +54 -0
- package/dist/cjs/mocking/mockTypes.js +2 -0
- package/dist/cjs/mocking/structuralFormat.d.ts +5 -0
- package/dist/cjs/mocking/structuralFormat.js +82 -0
- package/dist/cjs/modelTypes.d.ts +11 -0
- package/dist/cjs/modelTypes.js +2 -0
- package/dist/cjs/overrideRTFunctions.d.ts +9 -0
- package/dist/cjs/overrideRTFunctions.js +20 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/runtime/index.d.ts +10 -0
- package/dist/cjs/runtime/index.js +25 -0
- package/dist/cjs/runtypes/builderCore.d.ts +7 -0
- package/dist/cjs/runtypes/builderCore.js +39 -0
- package/dist/cjs/runtypes/builderTypes.d.ts +51 -0
- package/dist/cjs/runtypes/builderTypes.js +2 -0
- package/dist/cjs/runtypes/circular-pure-fns.d.ts +11 -0
- package/dist/cjs/runtypes/circular-pure-fns.js +117 -0
- package/dist/cjs/runtypes/circular.d.ts +6 -0
- package/dist/cjs/runtypes/circular.js +25 -0
- package/dist/cjs/runtypes/classSerializerRegistry.d.ts +28 -0
- package/dist/cjs/runtypes/classSerializerRegistry.js +141 -0
- package/dist/cjs/runtypes/dataOnly.d.ts +29 -0
- package/dist/cjs/runtypes/dataOnly.js +2 -0
- package/dist/cjs/runtypes/entryTuple.d.ts +101 -0
- package/dist/cjs/runtypes/entryTuple.js +395 -0
- package/dist/cjs/runtypes/formatAnnotation.d.ts +4 -0
- package/dist/cjs/runtypes/formatAnnotation.js +2 -0
- package/dist/cjs/runtypes/formatErrors.d.ts +18 -0
- package/dist/cjs/runtypes/formatErrors.js +2 -0
- package/dist/cjs/runtypes/formatPattern.d.ts +20 -0
- package/dist/cjs/runtypes/formatPattern.js +17 -0
- package/dist/cjs/runtypes/jsonShape.d.ts +22 -0
- package/dist/cjs/runtypes/jsonShape.js +2 -0
- package/dist/cjs/runtypes/pure-fn-ids.generated.d.ts +47 -0
- package/dist/cjs/runtypes/pure-fn-ids.generated.js +50 -0
- package/dist/cjs/runtypes/pure-fns-utils.d.ts +8 -0
- package/dist/cjs/runtypes/pure-fns-utils.js +147 -0
- package/dist/cjs/runtypes/pureFn.d.ts +7 -0
- package/dist/cjs/runtypes/pureFn.js +52 -0
- package/dist/cjs/runtypes/rtUtils.d.ts +45 -0
- package/dist/cjs/runtypes/rtUtils.js +218 -0
- package/dist/cjs/runtypes/sentinelKeys.d.ts +7 -0
- package/dist/cjs/runtypes/sentinelKeys.js +2 -0
- package/dist/cjs/runtypes/stripRunTypeMeta.d.ts +53 -0
- package/dist/cjs/runtypes/stripRunTypeMeta.js +2 -0
- package/dist/cjs/runtypes/typeFormat.d.ts +14 -0
- package/dist/cjs/runtypes/typeFormat.js +2 -0
- package/dist/cjs/runtypes/types.d.ts +114 -0
- package/dist/cjs/runtypes/types.js +2 -0
- package/dist/cjs/standard/createJsonSchemaFn.d.ts +8 -0
- package/dist/cjs/standard/createJsonSchemaFn.js +16 -0
- package/dist/cjs/standard/createStandardSchema.d.ts +18 -0
- package/dist/cjs/standard/createStandardSchema.js +30 -0
- package/dist/cjs/standard/issueMapping.d.ts +12 -0
- package/dist/cjs/standard/issueMapping.js +36 -0
- package/dist/cjs/standard/jsonSchemaDoc.d.ts +7 -0
- package/dist/cjs/standard/jsonSchemaDoc.js +95 -0
- package/dist/cjs/standard/spec.d.ts +47 -0
- package/dist/cjs/standard/spec.js +2 -0
- package/dist/createRTFunctions.d.ts +91 -0
- package/dist/createRTFunctions.js +33 -0
- package/dist/createRTFunctions.js.map +1 -0
- package/dist/enrich/createFriendlyText.d.ts +26 -0
- package/dist/enrich/createFriendlyText.js +271 -0
- package/dist/enrich/createFriendlyText.js.map +1 -0
- package/dist/enrich/friendlyText.d.ts +57 -0
- package/dist/enrich/friendlyText.js +2 -0
- package/dist/enrich/friendlyText.js.map +1 -0
- package/dist/enrich/mockData.d.ts +54 -0
- package/dist/enrich/mockData.js +2 -0
- package/dist/enrich/mockData.js.map +1 -0
- package/dist/fnHash.d.ts +9 -0
- package/dist/fnHash.js +39 -0
- package/dist/fnHash.js.map +1 -0
- package/dist/formats/bigintFormats.d.ts +42 -0
- package/dist/formats/bigintFormats.js +8 -0
- package/dist/formats/bigintFormats.js.map +1 -0
- package/dist/formats/datetime/dateFormats.d.ts +11 -0
- package/dist/formats/datetime/dateFormats.js +2 -0
- package/dist/formats/datetime/dateFormats.js.map +1 -0
- package/dist/formats/datetime/dateTime-pure-fns.d.ts +22 -0
- package/dist/formats/datetime/dateTime-pure-fns.js +403 -0
- package/dist/formats/datetime/dateTime-pure-fns.js.map +1 -0
- package/dist/formats/datetime/dateTimeParams.d.ts +15 -0
- package/dist/formats/datetime/dateTimeParams.js +2 -0
- package/dist/formats/datetime/dateTimeParams.js.map +1 -0
- package/dist/formats/datetime/stringDateTimeFormats.d.ts +34 -0
- package/dist/formats/datetime/stringDateTimeFormats.js +2 -0
- package/dist/formats/datetime/stringDateTimeFormats.js.map +1 -0
- package/dist/formats/datetime/temporalFormats.d.ts +85 -0
- package/dist/formats/datetime/temporalFormats.js +21 -0
- package/dist/formats/datetime/temporalFormats.js.map +1 -0
- package/dist/formats/index.d.ts +19 -0
- package/dist/formats/index.js +9 -0
- package/dist/formats/index.js.map +1 -0
- package/dist/formats/numberFormats.d.ts +83 -0
- package/dist/formats/numberFormats.js +14 -0
- package/dist/formats/numberFormats.js.map +1 -0
- package/dist/formats/refineFormat.d.ts +25 -0
- package/dist/formats/refineFormat.js +2 -0
- package/dist/formats/refineFormat.js.map +1 -0
- package/dist/formats/scalars.d.ts +33 -0
- package/dist/formats/scalars.js +23 -0
- package/dist/formats/scalars.js.map +1 -0
- package/dist/formats/string/credit-card-pure-fns.d.ts +27 -0
- package/dist/formats/string/credit-card-pure-fns.js +147 -0
- package/dist/formats/string/credit-card-pure-fns.js.map +1 -0
- package/dist/formats/string/string-formats-pure-fns.d.ts +13 -0
- package/dist/formats/string/string-formats-pure-fns.js +515 -0
- package/dist/formats/string/string-formats-pure-fns.js.map +1 -0
- package/dist/formats/string/string-patterns.d.ts +112 -0
- package/dist/formats/string/string-patterns.js +113 -0
- package/dist/formats/string/string-patterns.js.map +1 -0
- package/dist/formats/string/stringFormats.d.ts +490 -0
- package/dist/formats/string/stringFormats.js +76 -0
- package/dist/formats/string/stringFormats.js.map +1 -0
- package/dist/formats/structural.d.ts +106 -0
- package/dist/formats/structural.js +5 -0
- package/dist/formats/structural.js.map +1 -0
- package/dist/getRunType.d.ts +5 -0
- package/dist/getRunType.js +18 -0
- package/dist/getRunType.js.map +1 -0
- package/dist/go-generated/fnHashes.generated.d.ts +197 -0
- package/dist/go-generated/fnHashes.generated.js +76 -0
- package/dist/go-generated/fnHashes.generated.js.map +1 -0
- package/dist/go-generated/formatErrorKeys.generated.d.ts +79 -0
- package/dist/go-generated/formatErrorKeys.generated.js +38 -0
- package/dist/go-generated/formatErrorKeys.generated.js.map +1 -0
- package/dist/go-generated/runTypeKind.generated.d.ts +63 -0
- package/dist/go-generated/runTypeKind.generated.js +59 -0
- package/dist/go-generated/runTypeKind.generated.js.map +1 -0
- package/dist/go-generated/typeFormats.generated.d.ts +105 -0
- package/dist/go-generated/typeFormats.generated.js +28 -0
- package/dist/go-generated/typeFormats.generated.js.map +1 -0
- package/dist/index.d.ts +29 -0
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -0
- package/dist/markers.d.ts +34 -0
- package/dist/markers.js +12 -0
- package/dist/markers.js.map +1 -0
- package/dist/mion-pure-fns/@mionjs/run-types/-y__pOnrgnvRMz.js +2 -0
- package/dist/mion-pure-fns/@mionjs/run-types/0ofEnb55W0BDIY.js +2 -0
- package/dist/mion-pure-fns/@mionjs/run-types/18wDCH5CXZoQKV.js +2 -0
- package/dist/mion-pure-fns/@mionjs/run-types/2xtQHAMu-yOBo6.js +1 -0
- package/dist/mion-pure-fns/@mionjs/run-types/5oCqd7YyfA9rEw.js +1 -0
- package/dist/mion-pure-fns/@mionjs/run-types/6E7qWsIwaFRGn6.js +1 -0
- package/dist/mion-pure-fns/@mionjs/run-types/6xkN1Qfs9nqO79.js +1 -0
- package/dist/mion-pure-fns/@mionjs/run-types/8Mj42N3ytEEn67.js +1 -0
- package/dist/mion-pure-fns/@mionjs/run-types/A3KjzpjelkcBST.js +2 -0
- package/dist/mion-pure-fns/@mionjs/run-types/AgOXcprpjsrTKk.js +1 -0
- package/dist/mion-pure-fns/@mionjs/run-types/E29ul2pUOyD_Ay.js +1 -0
- package/dist/mion-pure-fns/@mionjs/run-types/EG8OkOOSnT9bZn.js +1 -0
- package/dist/mion-pure-fns/@mionjs/run-types/EYsxRHRDgAykA_.js +3 -0
- package/dist/mion-pure-fns/@mionjs/run-types/Eube1z0GFHuqlM.js +2 -0
- package/dist/mion-pure-fns/@mionjs/run-types/GA20s6bj41GC1A.js +1 -0
- package/dist/mion-pure-fns/@mionjs/run-types/GfQK19ktpvibuZ.js +2 -0
- package/dist/mion-pure-fns/@mionjs/run-types/IyjvBbz0zSlgCJ.js +1 -0
- package/dist/mion-pure-fns/@mionjs/run-types/LqTR2O-h6MYq9J.js +4 -0
- package/dist/mion-pure-fns/@mionjs/run-types/MnJ72PqkyXHiSP.js +1 -0
- package/dist/mion-pure-fns/@mionjs/run-types/NJ9TCGDnkv_9Mn.js +2 -0
- package/dist/mion-pure-fns/@mionjs/run-types/OCJ1B0-ZCAwagS.js +1 -0
- package/dist/mion-pure-fns/@mionjs/run-types/PQVLEBllZckw8I.js +2 -0
- package/dist/mion-pure-fns/@mionjs/run-types/Qd_9GJQlOCVqDe.js +1 -0
- package/dist/mion-pure-fns/@mionjs/run-types/R0IFkkw4SM2gvv.js +2 -0
- package/dist/mion-pure-fns/@mionjs/run-types/THkAA-KNR1HeAe.js +1 -0
- package/dist/mion-pure-fns/@mionjs/run-types/VJiknJ2exR2oMF.js +1 -0
- package/dist/mion-pure-fns/@mionjs/run-types/XYGjy-tcgDROBw.js +2 -0
- package/dist/mion-pure-fns/@mionjs/run-types/Z2sc5xQPKB0oav.js +1 -0
- package/dist/mion-pure-fns/@mionjs/run-types/_3Pmrr5aNmyNi4.js +2 -0
- package/dist/mion-pure-fns/@mionjs/run-types/cgwpjq6rGsI8jb.js +1 -0
- package/dist/mion-pure-fns/@mionjs/run-types/d8U9HjmMsNFd6Z.js +1 -0
- package/dist/mion-pure-fns/@mionjs/run-types/fL3v1v6aVZwJ7-.js +1 -0
- package/dist/mion-pure-fns/@mionjs/run-types/gFl-yXbCxJqWgQ.js +2 -0
- package/dist/mion-pure-fns/@mionjs/run-types/hiotRbfSKFAuK4.js +1 -0
- package/dist/mion-pure-fns/@mionjs/run-types/lFYcgG5ZSI-8em.js +1 -0
- package/dist/mion-pure-fns/@mionjs/run-types/n_ZOWff4X3qBMQ.js +1 -0
- package/dist/mion-pure-fns/@mionjs/run-types/ndkQPoji6DFHx2.js +2 -0
- package/dist/mion-pure-fns/@mionjs/run-types/nsU8QeJCuCF8Kr.js +1 -0
- package/dist/mion-pure-fns/@mionjs/run-types/qMsNYN8hy_sC8i.js +1 -0
- package/dist/mion-pure-fns/@mionjs/run-types/rXVwGkGDX08BsQ.js +1 -0
- package/dist/mion-pure-fns/@mionjs/run-types/rgWveqNi_HeFF8.js +5 -0
- package/dist/mion-pure-fns/@mionjs/run-types/s-tZDRlQfCG5m2.js +1 -0
- package/dist/mion-pure-fns/@mionjs/run-types/t-ntJ9S0FuxkC2.js +1 -0
- package/dist/mion-pure-fns/@mionjs/run-types/tfRjnFZVF8lqI_.js +1 -0
- package/dist/mion-pure-fns/@mionjs/run-types/vLId7t0J8HNWlN.js +1 -0
- package/dist/mion-pure-fns/@mionjs/run-types/zXMPEMyjGR4ZRc.js +1 -0
- package/dist/mion-pure-fns/index.json +236 -0
- package/dist/mocking/childMatch.d.ts +4 -0
- package/dist/mocking/childMatch.js +354 -0
- package/dist/mocking/childMatch.js.map +1 -0
- package/dist/mocking/constants.mock.d.ts +8 -0
- package/dist/mocking/constants.mock.js +85 -0
- package/dist/mocking/constants.mock.js.map +1 -0
- package/dist/mocking/createMockData.d.ts +9 -0
- package/dist/mocking/createMockData.js +51 -0
- package/dist/mocking/createMockData.js.map +1 -0
- package/dist/mocking/index.d.ts +5 -0
- package/dist/mocking/index.js +4 -0
- package/dist/mocking/index.js.map +1 -0
- package/dist/mocking/isMultipleOf.d.ts +3 -0
- package/dist/mocking/isMultipleOf.js +8 -0
- package/dist/mocking/isMultipleOf.js.map +1 -0
- package/dist/mocking/mockBigIntFormat.d.ts +2 -0
- package/dist/mocking/mockBigIntFormat.js +37 -0
- package/dist/mocking/mockBigIntFormat.js.map +1 -0
- package/dist/mocking/mockDateTimeBounds.d.ts +14 -0
- package/dist/mocking/mockDateTimeBounds.js +272 -0
- package/dist/mocking/mockDateTimeBounds.js.map +1 -0
- package/dist/mocking/mockInvalid.d.ts +16 -0
- package/dist/mocking/mockInvalid.js +228 -0
- package/dist/mocking/mockInvalid.js.map +1 -0
- package/dist/mocking/mockNumberFormat.d.ts +2 -0
- package/dist/mocking/mockNumberFormat.js +55 -0
- package/dist/mocking/mockNumberFormat.js.map +1 -0
- package/dist/mocking/mockRandom.d.ts +21 -0
- package/dist/mocking/mockRandom.js +102 -0
- package/dist/mocking/mockRandom.js.map +1 -0
- package/dist/mocking/mockRegistry.d.ts +8 -0
- package/dist/mocking/mockRegistry.js +8 -0
- package/dist/mocking/mockRegistry.js.map +1 -0
- package/dist/mocking/mockStringFormat.d.ts +6 -0
- package/dist/mocking/mockStringFormat.js +234 -0
- package/dist/mocking/mockStringFormat.js.map +1 -0
- package/dist/mocking/mockTemporal.d.ts +14 -0
- package/dist/mocking/mockTemporal.js +229 -0
- package/dist/mocking/mockTemporal.js.map +1 -0
- package/dist/mocking/mockType.d.ts +4 -0
- package/dist/mocking/mockType.js +808 -0
- package/dist/mocking/mockType.js.map +1 -0
- package/dist/mocking/mockTypes.d.ts +55 -0
- package/dist/mocking/mockTypes.js +2 -0
- package/dist/mocking/mockTypes.js.map +1 -0
- package/dist/mocking/structuralFormat.d.ts +6 -0
- package/dist/mocking/structuralFormat.js +77 -0
- package/dist/mocking/structuralFormat.js.map +1 -0
- package/dist/modelTypes.d.ts +12 -0
- package/dist/modelTypes.js +2 -0
- package/dist/modelTypes.js.map +1 -0
- package/dist/overrideRTFunctions.d.ts +10 -0
- package/dist/overrideRTFunctions.js +18 -0
- package/dist/overrideRTFunctions.js.map +1 -0
- package/dist/runtime/index.d.ts +11 -0
- package/dist/runtime/index.js +10 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtypes/builderCore.d.ts +8 -0
- package/dist/runtypes/builderCore.js +34 -0
- package/dist/runtypes/builderCore.js.map +1 -0
- package/dist/runtypes/builderTypes.d.ts +52 -0
- package/dist/runtypes/builderTypes.js +2 -0
- package/dist/runtypes/builderTypes.js.map +1 -0
- package/dist/runtypes/circular-pure-fns.d.ts +12 -0
- package/dist/runtypes/circular-pure-fns.js +115 -0
- package/dist/runtypes/circular-pure-fns.js.map +1 -0
- package/dist/runtypes/circular.d.ts +7 -0
- package/dist/runtypes/circular.js +21 -0
- package/dist/runtypes/circular.js.map +1 -0
- package/dist/runtypes/classSerializerRegistry.d.ts +29 -0
- package/dist/runtypes/classSerializerRegistry.js +133 -0
- package/dist/runtypes/classSerializerRegistry.js.map +1 -0
- package/dist/runtypes/dataOnly.d.ts +30 -0
- package/dist/runtypes/dataOnly.js +2 -0
- package/dist/runtypes/dataOnly.js.map +1 -0
- package/dist/runtypes/entryTuple.d.ts +102 -0
- package/dist/runtypes/entryTuple.js +387 -0
- package/dist/runtypes/entryTuple.js.map +1 -0
- package/dist/runtypes/formatAnnotation.d.ts +5 -0
- package/dist/runtypes/formatAnnotation.js +2 -0
- package/dist/runtypes/formatAnnotation.js.map +1 -0
- package/dist/runtypes/formatErrors.d.ts +19 -0
- package/dist/runtypes/formatErrors.js +2 -0
- package/dist/runtypes/formatErrors.js.map +1 -0
- package/dist/runtypes/formatPattern.d.ts +21 -0
- package/dist/runtypes/formatPattern.js +15 -0
- package/dist/runtypes/formatPattern.js.map +1 -0
- package/dist/runtypes/jsonShape.d.ts +23 -0
- package/dist/runtypes/jsonShape.js +2 -0
- package/dist/runtypes/jsonShape.js.map +1 -0
- package/dist/runtypes/pure-fn-ids.generated.d.ts +48 -0
- package/dist/runtypes/pure-fn-ids.generated.js +48 -0
- package/dist/runtypes/pure-fn-ids.generated.js.map +1 -0
- package/dist/runtypes/pure-fns-utils.d.ts +9 -0
- package/dist/runtypes/pure-fns-utils.js +145 -0
- package/dist/runtypes/pure-fns-utils.js.map +1 -0
- package/dist/runtypes/pureFn.d.ts +8 -0
- package/dist/runtypes/pureFn.js +49 -0
- package/dist/runtypes/pureFn.js.map +1 -0
- package/dist/runtypes/rtUtils.d.ts +46 -0
- package/dist/runtypes/rtUtils.js +211 -0
- package/dist/runtypes/rtUtils.js.map +1 -0
- package/dist/runtypes/sentinelKeys.d.ts +8 -0
- package/dist/runtypes/sentinelKeys.js +2 -0
- package/dist/runtypes/sentinelKeys.js.map +1 -0
- package/dist/runtypes/stripRunTypeMeta.d.ts +54 -0
- package/dist/runtypes/stripRunTypeMeta.js +2 -0
- package/dist/runtypes/stripRunTypeMeta.js.map +1 -0
- package/dist/runtypes/typeFormat.d.ts +15 -0
- package/dist/runtypes/typeFormat.js +2 -0
- package/dist/runtypes/typeFormat.js.map +1 -0
- package/dist/runtypes/types.d.ts +115 -0
- package/dist/runtypes/types.js +2 -0
- package/dist/runtypes/types.js.map +1 -0
- package/dist/standard/createJsonSchemaFn.d.ts +9 -0
- package/dist/standard/createJsonSchemaFn.js +12 -0
- package/dist/standard/createJsonSchemaFn.js.map +1 -0
- package/dist/standard/createStandardSchema.d.ts +19 -0
- package/dist/standard/createStandardSchema.js +28 -0
- package/dist/standard/createStandardSchema.js.map +1 -0
- package/dist/standard/issueMapping.d.ts +13 -0
- package/dist/standard/issueMapping.js +34 -0
- package/dist/standard/issueMapping.js.map +1 -0
- package/dist/standard/jsonSchemaDoc.d.ts +8 -0
- package/dist/standard/jsonSchemaDoc.js +90 -0
- package/dist/standard/jsonSchemaDoc.js.map +1 -0
- package/dist/standard/spec.d.ts +48 -0
- package/dist/standard/spec.js +2 -0
- package/dist/standard/spec.js.map +1 -0
- package/package.json +101 -53
- package/skills/rt-enrich-types/SKILL.md +83 -0
- package/skills/rt-enrich-types/mirror.md +58 -0
- package/skills/rt-enrich-types/translations.md +77 -0
- package/skills/runtypes-friendly-text/SKILL.md +94 -0
- package/skills/runtypes-friendly-text/references/checks.md +37 -0
- package/skills/runtypes-friendly-text/references/error-templates.md +94 -0
- package/skills/runtypes-friendly-text/references/example.md +80 -0
- package/skills/runtypes-friendly-text/references/rendering.md +77 -0
- package/skills/runtypes-friendly-text/references/translations.md +38 -0
- package/skills/runtypes-mock-data/SKILL.md +95 -0
- package/skills/runtypes-mock-data/example.md +54 -0
- package/.dist/cjs/index.cjs +0 -209
- package/.dist/cjs/index.cjs.map +0 -1
- package/.dist/cjs/index.d.ts +0 -61
- package/.dist/cjs/index.d.ts.map +0 -1
- package/.dist/cjs/package.json +0 -1
- package/.dist/cjs/src/constants.cjs +0 -79
- package/.dist/cjs/src/constants.cjs.map +0 -1
- package/.dist/cjs/src/constants.d.ts +0 -8
- package/.dist/cjs/src/constants.d.ts.map +0 -1
- package/.dist/cjs/src/constants.functions.cjs +0 -181
- package/.dist/cjs/src/constants.functions.cjs.map +0 -1
- package/.dist/cjs/src/constants.functions.d.ts +0 -386
- package/.dist/cjs/src/constants.functions.d.ts.map +0 -1
- package/.dist/cjs/src/constants.kind.cjs +0 -74
- package/.dist/cjs/src/constants.kind.cjs.map +0 -1
- package/.dist/cjs/src/constants.kind.d.ts +0 -22
- package/.dist/cjs/src/constants.kind.d.ts.map +0 -1
- package/.dist/cjs/src/createRunType.cjs +0 -286
- package/.dist/cjs/src/createRunType.cjs.map +0 -1
- package/.dist/cjs/src/createRunType.d.ts +0 -6
- package/.dist/cjs/src/createRunType.d.ts.map +0 -1
- package/.dist/cjs/src/createRunTypeFunctions.cjs +0 -78
- package/.dist/cjs/src/createRunTypeFunctions.cjs.map +0 -1
- package/.dist/cjs/src/createRunTypeFunctions.d.ts +0 -13
- package/.dist/cjs/src/createRunTypeFunctions.d.ts.map +0 -1
- package/.dist/cjs/src/formats.runtype.cjs +0 -7
- package/.dist/cjs/src/formats.runtype.cjs.map +0 -1
- package/.dist/cjs/src/formats.runtype.d.ts +0 -7
- package/.dist/cjs/src/formats.runtype.d.ts.map +0 -1
- package/.dist/cjs/src/jitCompilers/binary/binarySpec/binaryHelpers.cjs +0 -109
- package/.dist/cjs/src/jitCompilers/binary/binarySpec/binaryHelpers.cjs.map +0 -1
- package/.dist/cjs/src/jitCompilers/binary/binarySpec/binaryHelpers.d.ts +0 -31
- package/.dist/cjs/src/jitCompilers/binary/binarySpec/binaryHelpers.d.ts.map +0 -1
- package/.dist/cjs/src/jitCompilers/binary/fromBinary.cjs +0 -383
- package/.dist/cjs/src/jitCompilers/binary/fromBinary.cjs.map +0 -1
- package/.dist/cjs/src/jitCompilers/binary/fromBinary.d.ts +0 -8
- package/.dist/cjs/src/jitCompilers/binary/fromBinary.d.ts.map +0 -1
- package/.dist/cjs/src/jitCompilers/binary/toBinary.cjs +0 -338
- package/.dist/cjs/src/jitCompilers/binary/toBinary.cjs.map +0 -1
- package/.dist/cjs/src/jitCompilers/binary/toBinary.d.ts +0 -8
- package/.dist/cjs/src/jitCompilers/binary/toBinary.d.ts.map +0 -1
- package/.dist/cjs/src/jitCompilers/equalsHelpers.cjs +0 -37
- package/.dist/cjs/src/jitCompilers/equalsHelpers.cjs.map +0 -1
- package/.dist/cjs/src/jitCompilers/equalsHelpers.d.ts +0 -5
- package/.dist/cjs/src/jitCompilers/equalsHelpers.d.ts.map +0 -1
- package/.dist/cjs/src/jitCompilers/json/jsonSpec/jsonHelpers.cjs +0 -56
- package/.dist/cjs/src/jitCompilers/json/jsonSpec/jsonHelpers.cjs.map +0 -1
- package/.dist/cjs/src/jitCompilers/json/jsonSpec/jsonHelpers.d.ts +0 -28
- package/.dist/cjs/src/jitCompilers/json/jsonSpec/jsonHelpers.d.ts.map +0 -1
- package/.dist/cjs/src/jitCompilers/json/stringifyJson.cjs +0 -399
- package/.dist/cjs/src/jitCompilers/json/stringifyJson.cjs.map +0 -1
- package/.dist/cjs/src/jitCompilers/json/stringifyJson.d.ts +0 -11
- package/.dist/cjs/src/jitCompilers/json/stringifyJson.d.ts.map +0 -1
- package/.dist/cjs/src/jitCompilers/json/stringifySpec/stringifyHelpers.cjs +0 -51
- package/.dist/cjs/src/jitCompilers/json/stringifySpec/stringifyHelpers.cjs.map +0 -1
- package/.dist/cjs/src/jitCompilers/json/stringifySpec/stringifyHelpers.d.ts +0 -28
- package/.dist/cjs/src/jitCompilers/json/stringifySpec/stringifyHelpers.d.ts.map +0 -1
- package/.dist/cjs/src/jitCompilers/json/toJsCode.cjs +0 -131
- package/.dist/cjs/src/jitCompilers/json/toJsCode.cjs.map +0 -1
- package/.dist/cjs/src/jitCompilers/json/toJsCode.d.ts +0 -6
- package/.dist/cjs/src/jitCompilers/json/toJsCode.d.ts.map +0 -1
- package/.dist/cjs/src/lib/baseRunTypeFormat.cjs +0 -200
- package/.dist/cjs/src/lib/baseRunTypeFormat.cjs.map +0 -1
- package/.dist/cjs/src/lib/baseRunTypeFormat.d.ts +0 -51
- package/.dist/cjs/src/lib/baseRunTypeFormat.d.ts.map +0 -1
- package/.dist/cjs/src/lib/baseRunTypes.cjs +0 -277
- package/.dist/cjs/src/lib/baseRunTypes.cjs.map +0 -1
- package/.dist/cjs/src/lib/baseRunTypes.d.ts +0 -74
- package/.dist/cjs/src/lib/baseRunTypes.d.ts.map +0 -1
- package/.dist/cjs/src/lib/createJitFunction.cjs +0 -60
- package/.dist/cjs/src/lib/createJitFunction.cjs.map +0 -1
- package/.dist/cjs/src/lib/createJitFunction.d.ts +0 -6
- package/.dist/cjs/src/lib/createJitFunction.d.ts.map +0 -1
- package/.dist/cjs/src/lib/dkProxy.cjs +0 -23
- package/.dist/cjs/src/lib/dkProxy.cjs.map +0 -1
- package/.dist/cjs/src/lib/dkProxy.d.ts +0 -5
- package/.dist/cjs/src/lib/dkProxy.d.ts.map +0 -1
- package/.dist/cjs/src/lib/formats.cjs +0 -89
- package/.dist/cjs/src/lib/formats.cjs.map +0 -1
- package/.dist/cjs/src/lib/formats.d.ts +0 -19
- package/.dist/cjs/src/lib/formats.d.ts.map +0 -1
- package/.dist/cjs/src/lib/guards.cjs +0 -243
- package/.dist/cjs/src/lib/guards.cjs.map +0 -1
- package/.dist/cjs/src/lib/guards.d.ts +0 -121
- package/.dist/cjs/src/lib/guards.d.ts.map +0 -1
- package/.dist/cjs/src/lib/jitFnCompiler.cjs +0 -650
- package/.dist/cjs/src/lib/jitFnCompiler.cjs.map +0 -1
- package/.dist/cjs/src/lib/jitFnCompiler.d.ts +0 -110
- package/.dist/cjs/src/lib/jitFnCompiler.d.ts.map +0 -1
- package/.dist/cjs/src/lib/jitFnsRegistry.cjs +0 -41
- package/.dist/cjs/src/lib/jitFnsRegistry.cjs.map +0 -1
- package/.dist/cjs/src/lib/jitFnsRegistry.d.ts +0 -7
- package/.dist/cjs/src/lib/jitFnsRegistry.d.ts.map +0 -1
- package/.dist/cjs/src/lib/typeId.cjs +0 -205
- package/.dist/cjs/src/lib/typeId.cjs.map +0 -1
- package/.dist/cjs/src/lib/typeId.d.ts +0 -7
- package/.dist/cjs/src/lib/typeId.d.ts.map +0 -1
- package/.dist/cjs/src/lib/utils.cjs +0 -325
- package/.dist/cjs/src/lib/utils.cjs.map +0 -1
- package/.dist/cjs/src/lib/utils.d.ts +0 -33
- package/.dist/cjs/src/lib/utils.d.ts.map +0 -1
- package/.dist/cjs/src/mocking/constants.mock.cjs +0 -108
- package/.dist/cjs/src/mocking/constants.mock.cjs.map +0 -1
- package/.dist/cjs/src/mocking/constants.mock.d.ts +0 -86
- package/.dist/cjs/src/mocking/constants.mock.d.ts.map +0 -1
- package/.dist/cjs/src/mocking/mockRegistry.cjs +0 -12
- package/.dist/cjs/src/mocking/mockRegistry.cjs.map +0 -1
- package/.dist/cjs/src/mocking/mockRegistry.d.ts +0 -4
- package/.dist/cjs/src/mocking/mockRegistry.d.ts.map +0 -1
- package/.dist/cjs/src/mocking/mockType.cjs +0 -355
- package/.dist/cjs/src/mocking/mockType.cjs.map +0 -1
- package/.dist/cjs/src/mocking/mockType.d.ts +0 -4
- package/.dist/cjs/src/mocking/mockType.d.ts.map +0 -1
- package/.dist/cjs/src/mocking/mockUtils.cjs +0 -62
- package/.dist/cjs/src/mocking/mockUtils.cjs.map +0 -1
- package/.dist/cjs/src/mocking/mockUtils.d.ts +0 -16
- package/.dist/cjs/src/mocking/mockUtils.d.ts.map +0 -1
- package/.dist/cjs/src/nodes/atomic/any.cjs +0 -18
- package/.dist/cjs/src/nodes/atomic/any.cjs.map +0 -1
- package/.dist/cjs/src/nodes/atomic/any.d.ts +0 -9
- package/.dist/cjs/src/nodes/atomic/any.d.ts.map +0 -1
- package/.dist/cjs/src/nodes/atomic/bigInt.cjs +0 -20
- package/.dist/cjs/src/nodes/atomic/bigInt.cjs.map +0 -1
- package/.dist/cjs/src/nodes/atomic/bigInt.d.ts +0 -11
- package/.dist/cjs/src/nodes/atomic/bigInt.d.ts.map +0 -1
- package/.dist/cjs/src/nodes/atomic/boolean.cjs +0 -20
- package/.dist/cjs/src/nodes/atomic/boolean.cjs.map +0 -1
- package/.dist/cjs/src/nodes/atomic/boolean.d.ts +0 -11
- package/.dist/cjs/src/nodes/atomic/boolean.d.ts.map +0 -1
- package/.dist/cjs/src/nodes/atomic/date.cjs +0 -20
- package/.dist/cjs/src/nodes/atomic/date.cjs.map +0 -1
- package/.dist/cjs/src/nodes/atomic/date.d.ts +0 -11
- package/.dist/cjs/src/nodes/atomic/date.d.ts.map +0 -1
- package/.dist/cjs/src/nodes/atomic/enum.cjs +0 -22
- package/.dist/cjs/src/nodes/atomic/enum.cjs.map +0 -1
- package/.dist/cjs/src/nodes/atomic/enum.d.ts +0 -9
- package/.dist/cjs/src/nodes/atomic/enum.d.ts.map +0 -1
- package/.dist/cjs/src/nodes/atomic/enumMember.cjs +0 -24
- package/.dist/cjs/src/nodes/atomic/enumMember.cjs.map +0 -1
- package/.dist/cjs/src/nodes/atomic/enumMember.d.ts +0 -11
- package/.dist/cjs/src/nodes/atomic/enumMember.d.ts.map +0 -1
- package/.dist/cjs/src/nodes/atomic/literal.cjs +0 -126
- package/.dist/cjs/src/nodes/atomic/literal.cjs.map +0 -1
- package/.dist/cjs/src/nodes/atomic/literal.d.ts +0 -21
- package/.dist/cjs/src/nodes/atomic/literal.d.ts.map +0 -1
- package/.dist/cjs/src/nodes/atomic/never.cjs +0 -22
- package/.dist/cjs/src/nodes/atomic/never.cjs.map +0 -1
- package/.dist/cjs/src/nodes/atomic/never.d.ts +0 -11
- package/.dist/cjs/src/nodes/atomic/never.d.ts.map +0 -1
- package/.dist/cjs/src/nodes/atomic/null.cjs +0 -20
- package/.dist/cjs/src/nodes/atomic/null.cjs.map +0 -1
- package/.dist/cjs/src/nodes/atomic/null.d.ts +0 -11
- package/.dist/cjs/src/nodes/atomic/null.d.ts.map +0 -1
- package/.dist/cjs/src/nodes/atomic/number.cjs +0 -20
- package/.dist/cjs/src/nodes/atomic/number.cjs.map +0 -1
- package/.dist/cjs/src/nodes/atomic/number.d.ts +0 -11
- package/.dist/cjs/src/nodes/atomic/number.d.ts.map +0 -1
- package/.dist/cjs/src/nodes/atomic/object.cjs +0 -14
- package/.dist/cjs/src/nodes/atomic/object.cjs.map +0 -1
- package/.dist/cjs/src/nodes/atomic/object.d.ts +0 -9
- package/.dist/cjs/src/nodes/atomic/object.d.ts.map +0 -1
- package/.dist/cjs/src/nodes/atomic/regexp.cjs +0 -23
- package/.dist/cjs/src/nodes/atomic/regexp.cjs.map +0 -1
- package/.dist/cjs/src/nodes/atomic/regexp.d.ts +0 -11
- package/.dist/cjs/src/nodes/atomic/regexp.d.ts.map +0 -1
- package/.dist/cjs/src/nodes/atomic/string.cjs +0 -14
- package/.dist/cjs/src/nodes/atomic/string.cjs.map +0 -1
- package/.dist/cjs/src/nodes/atomic/string.d.ts +0 -9
- package/.dist/cjs/src/nodes/atomic/string.d.ts.map +0 -1
- package/.dist/cjs/src/nodes/atomic/symbol.cjs +0 -26
- package/.dist/cjs/src/nodes/atomic/symbol.cjs.map +0 -1
- package/.dist/cjs/src/nodes/atomic/symbol.d.ts +0 -12
- package/.dist/cjs/src/nodes/atomic/symbol.d.ts.map +0 -1
- package/.dist/cjs/src/nodes/atomic/undefined.cjs +0 -17
- package/.dist/cjs/src/nodes/atomic/undefined.cjs.map +0 -1
- package/.dist/cjs/src/nodes/atomic/undefined.d.ts +0 -10
- package/.dist/cjs/src/nodes/atomic/undefined.d.ts.map +0 -1
- package/.dist/cjs/src/nodes/atomic/unknown.cjs +0 -8
- package/.dist/cjs/src/nodes/atomic/unknown.cjs.map +0 -1
- package/.dist/cjs/src/nodes/atomic/unknown.d.ts +0 -4
- package/.dist/cjs/src/nodes/atomic/unknown.d.ts.map +0 -1
- package/.dist/cjs/src/nodes/atomic/void.cjs +0 -20
- package/.dist/cjs/src/nodes/atomic/void.cjs.map +0 -1
- package/.dist/cjs/src/nodes/atomic/void.d.ts +0 -11
- package/.dist/cjs/src/nodes/atomic/void.d.ts.map +0 -1
- package/.dist/cjs/src/nodes/collection/class.cjs +0 -38
- package/.dist/cjs/src/nodes/collection/class.cjs.map +0 -1
- package/.dist/cjs/src/nodes/collection/class.d.ts +0 -10
- package/.dist/cjs/src/nodes/collection/class.d.ts.map +0 -1
- package/.dist/cjs/src/nodes/collection/functionParams.cjs +0 -33
- package/.dist/cjs/src/nodes/collection/functionParams.cjs.map +0 -1
- package/.dist/cjs/src/nodes/collection/functionParams.d.ts +0 -10
- package/.dist/cjs/src/nodes/collection/functionParams.d.ts.map +0 -1
- package/.dist/cjs/src/nodes/collection/interface.cjs +0 -241
- package/.dist/cjs/src/nodes/collection/interface.cjs.map +0 -1
- package/.dist/cjs/src/nodes/collection/interface.d.ts +0 -44
- package/.dist/cjs/src/nodes/collection/interface.d.ts.map +0 -1
- package/.dist/cjs/src/nodes/collection/intersection.cjs +0 -21
- package/.dist/cjs/src/nodes/collection/intersection.cjs.map +0 -1
- package/.dist/cjs/src/nodes/collection/intersection.d.ts +0 -10
- package/.dist/cjs/src/nodes/collection/intersection.d.ts.map +0 -1
- package/.dist/cjs/src/nodes/collection/templateLiteral.cjs +0 -73
- package/.dist/cjs/src/nodes/collection/templateLiteral.cjs.map +0 -1
- package/.dist/cjs/src/nodes/collection/templateLiteral.d.ts +0 -16
- package/.dist/cjs/src/nodes/collection/templateLiteral.d.ts.map +0 -1
- package/.dist/cjs/src/nodes/collection/tuple.cjs +0 -74
- package/.dist/cjs/src/nodes/collection/tuple.cjs.map +0 -1
- package/.dist/cjs/src/nodes/collection/tuple.d.ts +0 -19
- package/.dist/cjs/src/nodes/collection/tuple.d.ts.map +0 -1
- package/.dist/cjs/src/nodes/collection/union.cjs +0 -162
- package/.dist/cjs/src/nodes/collection/union.cjs.map +0 -1
- package/.dist/cjs/src/nodes/collection/union.d.ts +0 -20
- package/.dist/cjs/src/nodes/collection/union.d.ts.map +0 -1
- package/.dist/cjs/src/nodes/collection/unionDiscriminator.cjs +0 -198
- package/.dist/cjs/src/nodes/collection/unionDiscriminator.cjs.map +0 -1
- package/.dist/cjs/src/nodes/collection/unionDiscriminator.d.ts +0 -22
- package/.dist/cjs/src/nodes/collection/unionDiscriminator.d.ts.map +0 -1
- package/.dist/cjs/src/nodes/function/function.cjs +0 -159
- package/.dist/cjs/src/nodes/function/function.cjs.map +0 -1
- package/.dist/cjs/src/nodes/function/function.d.ts +0 -35
- package/.dist/cjs/src/nodes/function/function.d.ts.map +0 -1
- package/.dist/cjs/src/nodes/member/array.cjs +0 -154
- package/.dist/cjs/src/nodes/member/array.cjs.map +0 -1
- package/.dist/cjs/src/nodes/member/array.d.ts +0 -25
- package/.dist/cjs/src/nodes/member/array.d.ts.map +0 -1
- package/.dist/cjs/src/nodes/member/callSignature.cjs +0 -40
- package/.dist/cjs/src/nodes/member/callSignature.cjs.map +0 -1
- package/.dist/cjs/src/nodes/member/callSignature.d.ts +0 -12
- package/.dist/cjs/src/nodes/member/callSignature.d.ts.map +0 -1
- package/.dist/cjs/src/nodes/member/genericMember.cjs +0 -68
- package/.dist/cjs/src/nodes/member/genericMember.cjs.map +0 -1
- package/.dist/cjs/src/nodes/member/genericMember.d.ts +0 -16
- package/.dist/cjs/src/nodes/member/genericMember.d.ts.map +0 -1
- package/.dist/cjs/src/nodes/member/indexProperty.cjs +0 -177
- package/.dist/cjs/src/nodes/member/indexProperty.cjs.map +0 -1
- package/.dist/cjs/src/nodes/member/indexProperty.d.ts +0 -23
- package/.dist/cjs/src/nodes/member/indexProperty.d.ts.map +0 -1
- package/.dist/cjs/src/nodes/member/method.cjs +0 -41
- package/.dist/cjs/src/nodes/member/method.cjs.map +0 -1
- package/.dist/cjs/src/nodes/member/method.d.ts +0 -12
- package/.dist/cjs/src/nodes/member/method.d.ts.map +0 -1
- package/.dist/cjs/src/nodes/member/methodSignature.cjs +0 -44
- package/.dist/cjs/src/nodes/member/methodSignature.cjs.map +0 -1
- package/.dist/cjs/src/nodes/member/methodSignature.d.ts +0 -13
- package/.dist/cjs/src/nodes/member/methodSignature.d.ts.map +0 -1
- package/.dist/cjs/src/nodes/member/param.cjs +0 -17
- package/.dist/cjs/src/nodes/member/param.cjs.map +0 -1
- package/.dist/cjs/src/nodes/member/param.d.ts +0 -9
- package/.dist/cjs/src/nodes/member/param.d.ts.map +0 -1
- package/.dist/cjs/src/nodes/member/property.cjs +0 -85
- package/.dist/cjs/src/nodes/member/property.cjs.map +0 -1
- package/.dist/cjs/src/nodes/member/property.d.ts +0 -20
- package/.dist/cjs/src/nodes/member/property.d.ts.map +0 -1
- package/.dist/cjs/src/nodes/member/restParams.cjs +0 -15
- package/.dist/cjs/src/nodes/member/restParams.cjs.map +0 -1
- package/.dist/cjs/src/nodes/member/restParams.d.ts +0 -8
- package/.dist/cjs/src/nodes/member/restParams.d.ts.map +0 -1
- package/.dist/cjs/src/nodes/member/tupleMember.cjs +0 -93
- package/.dist/cjs/src/nodes/member/tupleMember.cjs.map +0 -1
- package/.dist/cjs/src/nodes/member/tupleMember.d.ts +0 -21
- package/.dist/cjs/src/nodes/member/tupleMember.d.ts.map +0 -1
- package/.dist/cjs/src/nodes/native/Iterable.cjs +0 -135
- package/.dist/cjs/src/nodes/native/Iterable.cjs.map +0 -1
- package/.dist/cjs/src/nodes/native/Iterable.d.ts +0 -19
- package/.dist/cjs/src/nodes/native/Iterable.d.ts.map +0 -1
- package/.dist/cjs/src/nodes/native/map.cjs +0 -96
- package/.dist/cjs/src/nodes/native/map.cjs.map +0 -1
- package/.dist/cjs/src/nodes/native/map.d.ts +0 -43
- package/.dist/cjs/src/nodes/native/map.d.ts.map +0 -1
- package/.dist/cjs/src/nodes/native/nonSerializable.cjs +0 -36
- package/.dist/cjs/src/nodes/native/nonSerializable.cjs.map +0 -1
- package/.dist/cjs/src/nodes/native/nonSerializable.d.ts +0 -15
- package/.dist/cjs/src/nodes/native/nonSerializable.d.ts.map +0 -1
- package/.dist/cjs/src/nodes/native/promise.cjs +0 -38
- package/.dist/cjs/src/nodes/native/promise.cjs.map +0 -1
- package/.dist/cjs/src/nodes/native/promise.d.ts +0 -16
- package/.dist/cjs/src/nodes/native/promise.d.ts.map +0 -1
- package/.dist/cjs/src/nodes/native/set.cjs +0 -60
- package/.dist/cjs/src/nodes/native/set.cjs.map +0 -1
- package/.dist/cjs/src/nodes/native/set.d.ts +0 -31
- package/.dist/cjs/src/nodes/native/set.d.ts.map +0 -1
- package/.dist/cjs/src/run-types-pure-fns.cjs +0 -112
- package/.dist/cjs/src/run-types-pure-fns.cjs.map +0 -1
- package/.dist/cjs/src/run-types-pure-fns.d.ts +0 -8
- package/.dist/cjs/src/run-types-pure-fns.d.ts.map +0 -1
- package/.dist/cjs/src/types.cjs +0 -59
- package/.dist/cjs/src/types.cjs.map +0 -1
- package/.dist/cjs/src/types.d.ts +0 -154
- package/.dist/cjs/src/types.d.ts.map +0 -1
- package/.dist/esm/index.d.ts +0 -61
- package/.dist/esm/index.d.ts.map +0 -1
- package/.dist/esm/index.js +0 -209
- package/.dist/esm/index.js.map +0 -1
- package/.dist/esm/src/constants.d.ts +0 -8
- package/.dist/esm/src/constants.d.ts.map +0 -1
- package/.dist/esm/src/constants.functions.d.ts +0 -386
- package/.dist/esm/src/constants.functions.d.ts.map +0 -1
- package/.dist/esm/src/constants.functions.js +0 -181
- package/.dist/esm/src/constants.functions.js.map +0 -1
- package/.dist/esm/src/constants.js +0 -79
- package/.dist/esm/src/constants.js.map +0 -1
- package/.dist/esm/src/constants.kind.d.ts +0 -22
- package/.dist/esm/src/constants.kind.d.ts.map +0 -1
- package/.dist/esm/src/constants.kind.js +0 -74
- package/.dist/esm/src/constants.kind.js.map +0 -1
- package/.dist/esm/src/createRunType.d.ts +0 -6
- package/.dist/esm/src/createRunType.d.ts.map +0 -1
- package/.dist/esm/src/createRunType.js +0 -286
- package/.dist/esm/src/createRunType.js.map +0 -1
- package/.dist/esm/src/createRunTypeFunctions.d.ts +0 -13
- package/.dist/esm/src/createRunTypeFunctions.d.ts.map +0 -1
- package/.dist/esm/src/createRunTypeFunctions.js +0 -78
- package/.dist/esm/src/createRunTypeFunctions.js.map +0 -1
- package/.dist/esm/src/formats.runtype.d.ts +0 -7
- package/.dist/esm/src/formats.runtype.d.ts.map +0 -1
- package/.dist/esm/src/formats.runtype.js +0 -7
- package/.dist/esm/src/formats.runtype.js.map +0 -1
- package/.dist/esm/src/jitCompilers/binary/binarySpec/binaryHelpers.d.ts +0 -31
- package/.dist/esm/src/jitCompilers/binary/binarySpec/binaryHelpers.d.ts.map +0 -1
- package/.dist/esm/src/jitCompilers/binary/binarySpec/binaryHelpers.js +0 -109
- package/.dist/esm/src/jitCompilers/binary/binarySpec/binaryHelpers.js.map +0 -1
- package/.dist/esm/src/jitCompilers/binary/fromBinary.d.ts +0 -8
- package/.dist/esm/src/jitCompilers/binary/fromBinary.d.ts.map +0 -1
- package/.dist/esm/src/jitCompilers/binary/fromBinary.js +0 -383
- package/.dist/esm/src/jitCompilers/binary/fromBinary.js.map +0 -1
- package/.dist/esm/src/jitCompilers/binary/toBinary.d.ts +0 -8
- package/.dist/esm/src/jitCompilers/binary/toBinary.d.ts.map +0 -1
- package/.dist/esm/src/jitCompilers/binary/toBinary.js +0 -338
- package/.dist/esm/src/jitCompilers/binary/toBinary.js.map +0 -1
- package/.dist/esm/src/jitCompilers/equalsHelpers.d.ts +0 -5
- package/.dist/esm/src/jitCompilers/equalsHelpers.d.ts.map +0 -1
- package/.dist/esm/src/jitCompilers/equalsHelpers.js +0 -37
- package/.dist/esm/src/jitCompilers/equalsHelpers.js.map +0 -1
- package/.dist/esm/src/jitCompilers/json/jsonSpec/jsonHelpers.d.ts +0 -28
- package/.dist/esm/src/jitCompilers/json/jsonSpec/jsonHelpers.d.ts.map +0 -1
- package/.dist/esm/src/jitCompilers/json/jsonSpec/jsonHelpers.js +0 -56
- package/.dist/esm/src/jitCompilers/json/jsonSpec/jsonHelpers.js.map +0 -1
- package/.dist/esm/src/jitCompilers/json/stringifyJson.d.ts +0 -11
- package/.dist/esm/src/jitCompilers/json/stringifyJson.d.ts.map +0 -1
- package/.dist/esm/src/jitCompilers/json/stringifyJson.js +0 -399
- package/.dist/esm/src/jitCompilers/json/stringifyJson.js.map +0 -1
- package/.dist/esm/src/jitCompilers/json/stringifySpec/stringifyHelpers.d.ts +0 -28
- package/.dist/esm/src/jitCompilers/json/stringifySpec/stringifyHelpers.d.ts.map +0 -1
- package/.dist/esm/src/jitCompilers/json/stringifySpec/stringifyHelpers.js +0 -51
- package/.dist/esm/src/jitCompilers/json/stringifySpec/stringifyHelpers.js.map +0 -1
- package/.dist/esm/src/jitCompilers/json/toJsCode.d.ts +0 -6
- package/.dist/esm/src/jitCompilers/json/toJsCode.d.ts.map +0 -1
- package/.dist/esm/src/jitCompilers/json/toJsCode.js +0 -131
- package/.dist/esm/src/jitCompilers/json/toJsCode.js.map +0 -1
- package/.dist/esm/src/lib/baseRunTypeFormat.d.ts +0 -51
- package/.dist/esm/src/lib/baseRunTypeFormat.d.ts.map +0 -1
- package/.dist/esm/src/lib/baseRunTypeFormat.js +0 -200
- package/.dist/esm/src/lib/baseRunTypeFormat.js.map +0 -1
- package/.dist/esm/src/lib/baseRunTypes.d.ts +0 -74
- package/.dist/esm/src/lib/baseRunTypes.d.ts.map +0 -1
- package/.dist/esm/src/lib/baseRunTypes.js +0 -277
- package/.dist/esm/src/lib/baseRunTypes.js.map +0 -1
- package/.dist/esm/src/lib/createJitFunction.d.ts +0 -6
- package/.dist/esm/src/lib/createJitFunction.d.ts.map +0 -1
- package/.dist/esm/src/lib/createJitFunction.js +0 -60
- package/.dist/esm/src/lib/createJitFunction.js.map +0 -1
- package/.dist/esm/src/lib/dkProxy.d.ts +0 -5
- package/.dist/esm/src/lib/dkProxy.d.ts.map +0 -1
- package/.dist/esm/src/lib/dkProxy.js +0 -23
- package/.dist/esm/src/lib/dkProxy.js.map +0 -1
- package/.dist/esm/src/lib/formats.d.ts +0 -19
- package/.dist/esm/src/lib/formats.d.ts.map +0 -1
- package/.dist/esm/src/lib/formats.js +0 -89
- package/.dist/esm/src/lib/formats.js.map +0 -1
- package/.dist/esm/src/lib/guards.d.ts +0 -121
- package/.dist/esm/src/lib/guards.d.ts.map +0 -1
- package/.dist/esm/src/lib/guards.js +0 -243
- package/.dist/esm/src/lib/guards.js.map +0 -1
- package/.dist/esm/src/lib/jitFnCompiler.d.ts +0 -110
- package/.dist/esm/src/lib/jitFnCompiler.d.ts.map +0 -1
- package/.dist/esm/src/lib/jitFnCompiler.js +0 -650
- package/.dist/esm/src/lib/jitFnCompiler.js.map +0 -1
- package/.dist/esm/src/lib/jitFnsRegistry.d.ts +0 -7
- package/.dist/esm/src/lib/jitFnsRegistry.d.ts.map +0 -1
- package/.dist/esm/src/lib/jitFnsRegistry.js +0 -41
- package/.dist/esm/src/lib/jitFnsRegistry.js.map +0 -1
- package/.dist/esm/src/lib/typeId.d.ts +0 -7
- package/.dist/esm/src/lib/typeId.d.ts.map +0 -1
- package/.dist/esm/src/lib/typeId.js +0 -205
- package/.dist/esm/src/lib/typeId.js.map +0 -1
- package/.dist/esm/src/lib/utils.d.ts +0 -33
- package/.dist/esm/src/lib/utils.d.ts.map +0 -1
- package/.dist/esm/src/lib/utils.js +0 -325
- package/.dist/esm/src/lib/utils.js.map +0 -1
- package/.dist/esm/src/mocking/constants.mock.d.ts +0 -86
- package/.dist/esm/src/mocking/constants.mock.d.ts.map +0 -1
- package/.dist/esm/src/mocking/constants.mock.js +0 -108
- package/.dist/esm/src/mocking/constants.mock.js.map +0 -1
- package/.dist/esm/src/mocking/mockRegistry.d.ts +0 -4
- package/.dist/esm/src/mocking/mockRegistry.d.ts.map +0 -1
- package/.dist/esm/src/mocking/mockRegistry.js +0 -12
- package/.dist/esm/src/mocking/mockRegistry.js.map +0 -1
- package/.dist/esm/src/mocking/mockType.d.ts +0 -4
- package/.dist/esm/src/mocking/mockType.d.ts.map +0 -1
- package/.dist/esm/src/mocking/mockType.js +0 -355
- package/.dist/esm/src/mocking/mockType.js.map +0 -1
- package/.dist/esm/src/mocking/mockUtils.d.ts +0 -16
- package/.dist/esm/src/mocking/mockUtils.d.ts.map +0 -1
- package/.dist/esm/src/mocking/mockUtils.js +0 -62
- package/.dist/esm/src/mocking/mockUtils.js.map +0 -1
- package/.dist/esm/src/nodes/atomic/any.d.ts +0 -9
- package/.dist/esm/src/nodes/atomic/any.d.ts.map +0 -1
- package/.dist/esm/src/nodes/atomic/any.js +0 -18
- package/.dist/esm/src/nodes/atomic/any.js.map +0 -1
- package/.dist/esm/src/nodes/atomic/bigInt.d.ts +0 -11
- package/.dist/esm/src/nodes/atomic/bigInt.d.ts.map +0 -1
- package/.dist/esm/src/nodes/atomic/bigInt.js +0 -20
- package/.dist/esm/src/nodes/atomic/bigInt.js.map +0 -1
- package/.dist/esm/src/nodes/atomic/boolean.d.ts +0 -11
- package/.dist/esm/src/nodes/atomic/boolean.d.ts.map +0 -1
- package/.dist/esm/src/nodes/atomic/boolean.js +0 -20
- package/.dist/esm/src/nodes/atomic/boolean.js.map +0 -1
- package/.dist/esm/src/nodes/atomic/date.d.ts +0 -11
- package/.dist/esm/src/nodes/atomic/date.d.ts.map +0 -1
- package/.dist/esm/src/nodes/atomic/date.js +0 -20
- package/.dist/esm/src/nodes/atomic/date.js.map +0 -1
- package/.dist/esm/src/nodes/atomic/enum.d.ts +0 -9
- package/.dist/esm/src/nodes/atomic/enum.d.ts.map +0 -1
- package/.dist/esm/src/nodes/atomic/enum.js +0 -22
- package/.dist/esm/src/nodes/atomic/enum.js.map +0 -1
- package/.dist/esm/src/nodes/atomic/enumMember.d.ts +0 -11
- package/.dist/esm/src/nodes/atomic/enumMember.d.ts.map +0 -1
- package/.dist/esm/src/nodes/atomic/enumMember.js +0 -24
- package/.dist/esm/src/nodes/atomic/enumMember.js.map +0 -1
- package/.dist/esm/src/nodes/atomic/literal.d.ts +0 -21
- package/.dist/esm/src/nodes/atomic/literal.d.ts.map +0 -1
- package/.dist/esm/src/nodes/atomic/literal.js +0 -126
- package/.dist/esm/src/nodes/atomic/literal.js.map +0 -1
- package/.dist/esm/src/nodes/atomic/never.d.ts +0 -11
- package/.dist/esm/src/nodes/atomic/never.d.ts.map +0 -1
- package/.dist/esm/src/nodes/atomic/never.js +0 -22
- package/.dist/esm/src/nodes/atomic/never.js.map +0 -1
- package/.dist/esm/src/nodes/atomic/null.d.ts +0 -11
- package/.dist/esm/src/nodes/atomic/null.d.ts.map +0 -1
- package/.dist/esm/src/nodes/atomic/null.js +0 -20
- package/.dist/esm/src/nodes/atomic/null.js.map +0 -1
- package/.dist/esm/src/nodes/atomic/number.d.ts +0 -11
- package/.dist/esm/src/nodes/atomic/number.d.ts.map +0 -1
- package/.dist/esm/src/nodes/atomic/number.js +0 -20
- package/.dist/esm/src/nodes/atomic/number.js.map +0 -1
- package/.dist/esm/src/nodes/atomic/object.d.ts +0 -9
- package/.dist/esm/src/nodes/atomic/object.d.ts.map +0 -1
- package/.dist/esm/src/nodes/atomic/object.js +0 -14
- package/.dist/esm/src/nodes/atomic/object.js.map +0 -1
- package/.dist/esm/src/nodes/atomic/regexp.d.ts +0 -11
- package/.dist/esm/src/nodes/atomic/regexp.d.ts.map +0 -1
- package/.dist/esm/src/nodes/atomic/regexp.js +0 -23
- package/.dist/esm/src/nodes/atomic/regexp.js.map +0 -1
- package/.dist/esm/src/nodes/atomic/string.d.ts +0 -9
- package/.dist/esm/src/nodes/atomic/string.d.ts.map +0 -1
- package/.dist/esm/src/nodes/atomic/string.js +0 -14
- package/.dist/esm/src/nodes/atomic/string.js.map +0 -1
- package/.dist/esm/src/nodes/atomic/symbol.d.ts +0 -12
- package/.dist/esm/src/nodes/atomic/symbol.d.ts.map +0 -1
- package/.dist/esm/src/nodes/atomic/symbol.js +0 -26
- package/.dist/esm/src/nodes/atomic/symbol.js.map +0 -1
- package/.dist/esm/src/nodes/atomic/undefined.d.ts +0 -10
- package/.dist/esm/src/nodes/atomic/undefined.d.ts.map +0 -1
- package/.dist/esm/src/nodes/atomic/undefined.js +0 -17
- package/.dist/esm/src/nodes/atomic/undefined.js.map +0 -1
- package/.dist/esm/src/nodes/atomic/unknown.d.ts +0 -4
- package/.dist/esm/src/nodes/atomic/unknown.d.ts.map +0 -1
- package/.dist/esm/src/nodes/atomic/unknown.js +0 -8
- package/.dist/esm/src/nodes/atomic/unknown.js.map +0 -1
- package/.dist/esm/src/nodes/atomic/void.d.ts +0 -11
- package/.dist/esm/src/nodes/atomic/void.d.ts.map +0 -1
- package/.dist/esm/src/nodes/atomic/void.js +0 -20
- package/.dist/esm/src/nodes/atomic/void.js.map +0 -1
- package/.dist/esm/src/nodes/collection/class.d.ts +0 -10
- package/.dist/esm/src/nodes/collection/class.d.ts.map +0 -1
- package/.dist/esm/src/nodes/collection/class.js +0 -38
- package/.dist/esm/src/nodes/collection/class.js.map +0 -1
- package/.dist/esm/src/nodes/collection/functionParams.d.ts +0 -10
- package/.dist/esm/src/nodes/collection/functionParams.d.ts.map +0 -1
- package/.dist/esm/src/nodes/collection/functionParams.js +0 -33
- package/.dist/esm/src/nodes/collection/functionParams.js.map +0 -1
- package/.dist/esm/src/nodes/collection/interface.d.ts +0 -44
- package/.dist/esm/src/nodes/collection/interface.d.ts.map +0 -1
- package/.dist/esm/src/nodes/collection/interface.js +0 -241
- package/.dist/esm/src/nodes/collection/interface.js.map +0 -1
- package/.dist/esm/src/nodes/collection/intersection.d.ts +0 -10
- package/.dist/esm/src/nodes/collection/intersection.d.ts.map +0 -1
- package/.dist/esm/src/nodes/collection/intersection.js +0 -21
- package/.dist/esm/src/nodes/collection/intersection.js.map +0 -1
- package/.dist/esm/src/nodes/collection/templateLiteral.d.ts +0 -16
- package/.dist/esm/src/nodes/collection/templateLiteral.d.ts.map +0 -1
- package/.dist/esm/src/nodes/collection/templateLiteral.js +0 -73
- package/.dist/esm/src/nodes/collection/templateLiteral.js.map +0 -1
- package/.dist/esm/src/nodes/collection/tuple.d.ts +0 -19
- package/.dist/esm/src/nodes/collection/tuple.d.ts.map +0 -1
- package/.dist/esm/src/nodes/collection/tuple.js +0 -74
- package/.dist/esm/src/nodes/collection/tuple.js.map +0 -1
- package/.dist/esm/src/nodes/collection/union.d.ts +0 -20
- package/.dist/esm/src/nodes/collection/union.d.ts.map +0 -1
- package/.dist/esm/src/nodes/collection/union.js +0 -162
- package/.dist/esm/src/nodes/collection/union.js.map +0 -1
- package/.dist/esm/src/nodes/collection/unionDiscriminator.d.ts +0 -22
- package/.dist/esm/src/nodes/collection/unionDiscriminator.d.ts.map +0 -1
- package/.dist/esm/src/nodes/collection/unionDiscriminator.js +0 -198
- package/.dist/esm/src/nodes/collection/unionDiscriminator.js.map +0 -1
- package/.dist/esm/src/nodes/function/function.d.ts +0 -35
- package/.dist/esm/src/nodes/function/function.d.ts.map +0 -1
- package/.dist/esm/src/nodes/function/function.js +0 -159
- package/.dist/esm/src/nodes/function/function.js.map +0 -1
- package/.dist/esm/src/nodes/member/array.d.ts +0 -25
- package/.dist/esm/src/nodes/member/array.d.ts.map +0 -1
- package/.dist/esm/src/nodes/member/array.js +0 -154
- package/.dist/esm/src/nodes/member/array.js.map +0 -1
- package/.dist/esm/src/nodes/member/callSignature.d.ts +0 -12
- package/.dist/esm/src/nodes/member/callSignature.d.ts.map +0 -1
- package/.dist/esm/src/nodes/member/callSignature.js +0 -40
- package/.dist/esm/src/nodes/member/callSignature.js.map +0 -1
- package/.dist/esm/src/nodes/member/genericMember.d.ts +0 -16
- package/.dist/esm/src/nodes/member/genericMember.d.ts.map +0 -1
- package/.dist/esm/src/nodes/member/genericMember.js +0 -68
- package/.dist/esm/src/nodes/member/genericMember.js.map +0 -1
- package/.dist/esm/src/nodes/member/indexProperty.d.ts +0 -23
- package/.dist/esm/src/nodes/member/indexProperty.d.ts.map +0 -1
- package/.dist/esm/src/nodes/member/indexProperty.js +0 -177
- package/.dist/esm/src/nodes/member/indexProperty.js.map +0 -1
- package/.dist/esm/src/nodes/member/method.d.ts +0 -12
- package/.dist/esm/src/nodes/member/method.d.ts.map +0 -1
- package/.dist/esm/src/nodes/member/method.js +0 -41
- package/.dist/esm/src/nodes/member/method.js.map +0 -1
- package/.dist/esm/src/nodes/member/methodSignature.d.ts +0 -13
- package/.dist/esm/src/nodes/member/methodSignature.d.ts.map +0 -1
- package/.dist/esm/src/nodes/member/methodSignature.js +0 -44
- package/.dist/esm/src/nodes/member/methodSignature.js.map +0 -1
- package/.dist/esm/src/nodes/member/param.d.ts +0 -9
- package/.dist/esm/src/nodes/member/param.d.ts.map +0 -1
- package/.dist/esm/src/nodes/member/param.js +0 -17
- package/.dist/esm/src/nodes/member/param.js.map +0 -1
- package/.dist/esm/src/nodes/member/property.d.ts +0 -20
- package/.dist/esm/src/nodes/member/property.d.ts.map +0 -1
- package/.dist/esm/src/nodes/member/property.js +0 -85
- package/.dist/esm/src/nodes/member/property.js.map +0 -1
- package/.dist/esm/src/nodes/member/restParams.d.ts +0 -8
- package/.dist/esm/src/nodes/member/restParams.d.ts.map +0 -1
- package/.dist/esm/src/nodes/member/restParams.js +0 -15
- package/.dist/esm/src/nodes/member/restParams.js.map +0 -1
- package/.dist/esm/src/nodes/member/tupleMember.d.ts +0 -21
- package/.dist/esm/src/nodes/member/tupleMember.d.ts.map +0 -1
- package/.dist/esm/src/nodes/member/tupleMember.js +0 -93
- package/.dist/esm/src/nodes/member/tupleMember.js.map +0 -1
- package/.dist/esm/src/nodes/native/Iterable.d.ts +0 -19
- package/.dist/esm/src/nodes/native/Iterable.d.ts.map +0 -1
- package/.dist/esm/src/nodes/native/Iterable.js +0 -135
- package/.dist/esm/src/nodes/native/Iterable.js.map +0 -1
- package/.dist/esm/src/nodes/native/map.d.ts +0 -43
- package/.dist/esm/src/nodes/native/map.d.ts.map +0 -1
- package/.dist/esm/src/nodes/native/map.js +0 -96
- package/.dist/esm/src/nodes/native/map.js.map +0 -1
- package/.dist/esm/src/nodes/native/nonSerializable.d.ts +0 -15
- package/.dist/esm/src/nodes/native/nonSerializable.d.ts.map +0 -1
- package/.dist/esm/src/nodes/native/nonSerializable.js +0 -36
- package/.dist/esm/src/nodes/native/nonSerializable.js.map +0 -1
- package/.dist/esm/src/nodes/native/promise.d.ts +0 -16
- package/.dist/esm/src/nodes/native/promise.d.ts.map +0 -1
- package/.dist/esm/src/nodes/native/promise.js +0 -38
- package/.dist/esm/src/nodes/native/promise.js.map +0 -1
- package/.dist/esm/src/nodes/native/set.d.ts +0 -31
- package/.dist/esm/src/nodes/native/set.d.ts.map +0 -1
- package/.dist/esm/src/nodes/native/set.js +0 -60
- package/.dist/esm/src/nodes/native/set.js.map +0 -1
- package/.dist/esm/src/run-types-pure-fns.d.ts +0 -8
- package/.dist/esm/src/run-types-pure-fns.d.ts.map +0 -1
- package/.dist/esm/src/run-types-pure-fns.js +0 -112
- package/.dist/esm/src/run-types-pure-fns.js.map +0 -1
- package/.dist/esm/src/types.d.ts +0 -154
- package/.dist/esm/src/types.d.ts.map +0 -1
- package/.dist/esm/src/types.js +0 -59
- package/.dist/esm/src/types.js.map +0 -1
- package/index.ts +0 -70
- package/src/constants.functions.ts +0 -196
- package/src/constants.kind.ts +0 -76
- package/src/constants.ts +0 -85
- package/src/createRunType.ts +0 -322
- package/src/createRunTypeFunctions.ts +0 -93
- package/src/formats.runtype.ts +0 -35
- package/src/jitCompilers/binary/binarySPEC.md +0 -138
- package/src/jitCompilers/binary/binarySpec/binaryHelpers.ts +0 -118
- package/src/jitCompilers/binary/fromBinary.ts +0 -493
- package/src/jitCompilers/binary/toBinary.ts +0 -436
- package/src/jitCompilers/equalsHelpers.ts +0 -62
- package/src/jitCompilers/json/jsonSpec/jsonHelpers.ts +0 -64
- package/src/jitCompilers/json/stringifyJson.ts +0 -476
- package/src/jitCompilers/json/stringifySpec/stringifyHelpers.ts +0 -59
- package/src/jitCompilers/json/toJsCode.ts +0 -182
- package/src/jitCompilers/serialization-suite.ts +0 -1689
- package/src/jitCompilers/xyz-Template/fromXYZ.ts +0 -212
- package/src/jitCompilers/xyz-Template/toXYZ.ts +0 -217
- package/src/jitCompilers/xyz-Template/xyzReadme.md +0 -6
- package/src/jitCompilers/xyz-Template/xyzSpec/xyzHelpers.ts +0 -66
- package/src/lib/baseRunTypeFormat.ts +0 -320
- package/src/lib/baseRunTypes.ts +0 -367
- package/src/lib/createJitFunction.ts +0 -87
- package/src/lib/dkProxy.ts +0 -47
- package/src/lib/formats.ts +0 -144
- package/src/lib/guards.ts +0 -290
- package/src/lib/jitFnCompiler.ts +0 -783
- package/src/lib/jitFnsRegistry.ts +0 -53
- package/src/lib/typeId.ts +0 -225
- package/src/lib/utils.ts +0 -402
- package/src/mocking/constants.mock.ts +0 -87
- package/src/mocking/mockRegistry.ts +0 -20
- package/src/mocking/mockType.ts +0 -409
- package/src/mocking/mockUtils.ts +0 -82
- package/src/nodes/atomic/any.ts +0 -22
- package/src/nodes/atomic/bigInt.ts +0 -26
- package/src/nodes/atomic/boolean.ts +0 -26
- package/src/nodes/atomic/date.ts +0 -26
- package/src/nodes/atomic/enum.ts +0 -23
- package/src/nodes/atomic/enumMember.ts +0 -29
- package/src/nodes/atomic/literal.ts +0 -125
- package/src/nodes/atomic/never.ts +0 -26
- package/src/nodes/atomic/null.ts +0 -26
- package/src/nodes/atomic/number.ts +0 -26
- package/src/nodes/atomic/object.ts +0 -20
- package/src/nodes/atomic/regexp.ts +0 -29
- package/src/nodes/atomic/string.ts +0 -20
- package/src/nodes/atomic/symbol.ts +0 -31
- package/src/nodes/atomic/undefined.ts +0 -23
- package/src/nodes/atomic/unknown.ts +0 -10
- package/src/nodes/atomic/void.ts +0 -26
- package/src/nodes/collection/class.ts +0 -36
- package/src/nodes/collection/functionParams.ts +0 -42
- package/src/nodes/collection/interface.ts +0 -300
- package/src/nodes/collection/intersection.ts +0 -30
- package/src/nodes/collection/templateLiteral.ts +0 -87
- package/src/nodes/collection/tuple.ts +0 -80
- package/src/nodes/collection/union.ts +0 -205
- package/src/nodes/collection/unionDiscriminator.ts +0 -259
- package/src/nodes/function/function.ts +0 -166
- package/src/nodes/member/array.ts +0 -150
- package/src/nodes/member/callSignature.ts +0 -34
- package/src/nodes/member/genericMember.ts +0 -63
- package/src/nodes/member/indexProperty.ts +0 -174
- package/src/nodes/member/method.ts +0 -30
- package/src/nodes/member/methodSignature.ts +0 -31
- package/src/nodes/member/param.ts +0 -22
- package/src/nodes/member/property.ts +0 -75
- package/src/nodes/member/restParams.ts +0 -22
- package/src/nodes/member/tupleMember.ts +0 -93
- package/src/nodes/native/Iterable.ts +0 -153
- package/src/nodes/native/map.ts +0 -91
- package/src/nodes/native/nonSerializable.ts +0 -42
- package/src/nodes/native/promise.ts +0 -43
- package/src/nodes/native/set.ts +0 -56
- package/src/run-types-pure-fns.ts +0 -116
- package/src/types.ts +0 -206
|
@@ -1,118 +0,0 @@
|
|
|
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 {JitFunctions} from '../../../constants.functions.ts';
|
|
9
|
-
import {FunctionRunType} from '../../../nodes/function/function.ts';
|
|
10
|
-
import type {DataViewDeserializer, DataViewSerializer, StrictArrayBuffer} from '@mionjs/core';
|
|
11
|
-
import type {InterfaceRunType} from '../../../nodes/collection/interface.ts';
|
|
12
|
-
import type {RunType} from '../../../types.ts';
|
|
13
|
-
import {createDataViewDeserializer, createDataViewSerializer, setSerializationOptions, getENV} from '@mionjs/core';
|
|
14
|
-
import {afterAll, expect} from 'vitest';
|
|
15
|
-
|
|
16
|
-
const DEBUG = getENV('DEBUG_JIT') === 'print';
|
|
17
|
-
/** maps a binary serializer to json serializer */
|
|
18
|
-
const toJsonSerializers: Map<(v: any) => any, (v: any) => string> = new Map();
|
|
19
|
-
|
|
20
|
-
setSerializationOptions({bufferSize: 1024});
|
|
21
|
-
export const serContext: DataViewSerializer = createDataViewSerializer('test');
|
|
22
|
-
export const desContext: DataViewDeserializer = createDataViewDeserializer('test', new ArrayBuffer(0));
|
|
23
|
-
|
|
24
|
-
const SERIALIZE_FN = JitFunctions.toBinary;
|
|
25
|
-
const DESERIALIZE_FN = JitFunctions.fromBinary;
|
|
26
|
-
|
|
27
|
-
export function createSerializationFns(rt: RunType) {
|
|
28
|
-
const toBinary = rt.createJitFunction(SERIALIZE_FN);
|
|
29
|
-
const fromBinary = rt.createJitFunction(DESERIALIZE_FN);
|
|
30
|
-
const serialize = (v: any) => (toBinary(v, serContext), serContext.getBuffer());
|
|
31
|
-
const deserialize = (data: StrictArrayBuffer) => (desContext.setBuffer(data), fromBinary(undefined, desContext));
|
|
32
|
-
if (DEBUG) {
|
|
33
|
-
const toJson = rt.createJitFunction(JitFunctions.prepareForJson);
|
|
34
|
-
const stringify = (v: any) => JSON.stringify(toJson(v));
|
|
35
|
-
toJsonSerializers.set(serialize, stringify);
|
|
36
|
-
}
|
|
37
|
-
return {serialize, deserialize};
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
export function createSerializationParamsFn(rt: FunctionRunType, sliceStart?: number) {
|
|
41
|
-
const params = typeof sliceStart === 'number' ? {paramsSlice: {start: sliceStart}} : undefined;
|
|
42
|
-
const toBinary = rt.createJitParamsFunction(SERIALIZE_FN, params);
|
|
43
|
-
const fromBinary = rt.createJitParamsFunction(DESERIALIZE_FN, params);
|
|
44
|
-
const serialize = (v: any) => (toBinary(v, serContext), serContext.getBuffer());
|
|
45
|
-
const deserialize = (data: StrictArrayBuffer) => (desContext.setBuffer(data), fromBinary(undefined, desContext));
|
|
46
|
-
if (DEBUG) {
|
|
47
|
-
const toJson = rt.createJitParamsFunction(JitFunctions.prepareForJson, params);
|
|
48
|
-
const stringify = (v: any) => JSON.stringify(toJson(v));
|
|
49
|
-
toJsonSerializers.set(serialize, stringify);
|
|
50
|
-
}
|
|
51
|
-
return {serialize, deserialize};
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
export function createSerializationReturnFn(rt: FunctionRunType) {
|
|
55
|
-
const toBinary = rt.createJitReturnFunction(SERIALIZE_FN);
|
|
56
|
-
const fromBinary = rt.createJitReturnFunction(DESERIALIZE_FN);
|
|
57
|
-
const serialize = (v: any) => (toBinary(v, serContext), serContext.getBuffer());
|
|
58
|
-
const deserialize = (data: StrictArrayBuffer) => (desContext.setBuffer(data), fromBinary(undefined, desContext));
|
|
59
|
-
if (DEBUG) {
|
|
60
|
-
const toJson = rt.createJitReturnFunction(JitFunctions.prepareForJson);
|
|
61
|
-
const stringify = (v: any) => JSON.stringify(toJson(v));
|
|
62
|
-
toJsonSerializers.set(serialize, stringify);
|
|
63
|
-
}
|
|
64
|
-
return {serialize, deserialize};
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
export function createSerializationCallSignatureParamsFn(rt: InterfaceRunType) {
|
|
68
|
-
const callSignature = rt.getCallSignature()!;
|
|
69
|
-
const toBinary = callSignature.createJitParamsFunction(SERIALIZE_FN);
|
|
70
|
-
const fromBinary = callSignature.createJitParamsFunction(DESERIALIZE_FN);
|
|
71
|
-
const serialize = (v: any) => (toBinary(v, serContext), serContext.getBuffer());
|
|
72
|
-
const deserialize = (data: StrictArrayBuffer) => (desContext.setBuffer(data), fromBinary(undefined, desContext));
|
|
73
|
-
if (DEBUG) {
|
|
74
|
-
const toJson = callSignature.createJitParamsFunction(JitFunctions.prepareForJson);
|
|
75
|
-
const stringify = (v: any) => JSON.stringify(toJson(v));
|
|
76
|
-
toJsonSerializers.set(serialize, stringify);
|
|
77
|
-
}
|
|
78
|
-
return {serialize, deserialize};
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
export function createSerializationCallSignatureReturnFn(rt: InterfaceRunType) {
|
|
82
|
-
const callSignature = rt.getCallSignature()!;
|
|
83
|
-
const toBinary = callSignature.createJitReturnFunction(SERIALIZE_FN);
|
|
84
|
-
const fromBinary = callSignature.createJitReturnFunction(DESERIALIZE_FN);
|
|
85
|
-
const serialize = (v: any) => (toBinary(v, serContext), serContext.getBuffer());
|
|
86
|
-
const deserialize = (data: StrictArrayBuffer) => (desContext.setBuffer(data), fromBinary(undefined, desContext));
|
|
87
|
-
if (DEBUG) {
|
|
88
|
-
const toJson = callSignature.createJitReturnFunction(JitFunctions.prepareForJson);
|
|
89
|
-
const stringify = (v: any) => JSON.stringify(toJson(v));
|
|
90
|
-
toJsonSerializers.set(serialize, stringify);
|
|
91
|
-
}
|
|
92
|
-
return {serialize, deserialize};
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
const sizesEntries: any[] = [];
|
|
96
|
-
const valuesEntries: any[] = [];
|
|
97
|
-
|
|
98
|
-
export function roundTrip(serialize: (v: any) => StrictArrayBuffer, deserialize: (v: StrictArrayBuffer) => any, value: any) {
|
|
99
|
-
serContext.reset();
|
|
100
|
-
const serialized = serialize(value);
|
|
101
|
-
const deserialized = deserialize(serialized);
|
|
102
|
-
if (DEBUG) {
|
|
103
|
-
const stringify = toJsonSerializers.get(serialize)!;
|
|
104
|
-
let json: number | string = '';
|
|
105
|
-
// eslint-disable-next-line
|
|
106
|
-
try { json = new Blob([stringify(value)]).size; } catch (e) { json = '-'; } // prettier-ignore
|
|
107
|
-
const sizes = {name: expect.getState().currentTestName, json, binary: serialized.byteLength};
|
|
108
|
-
sizesEntries.push(sizes);
|
|
109
|
-
valuesEntries.push({value, deserialized});
|
|
110
|
-
}
|
|
111
|
-
const result = {serialized, deserialized};
|
|
112
|
-
return result;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
afterAll(() => {
|
|
116
|
-
if (sizesEntries.length) console.table(sizesEntries);
|
|
117
|
-
if (valuesEntries.length) console.table(valuesEntries);
|
|
118
|
-
});
|
|
@@ -1,493 +0,0 @@
|
|
|
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 {ReflectionKind} from '@deepkit/type';
|
|
9
|
-
import {getJitUtils} from '@mionjs/core';
|
|
10
|
-
import {ReflectionSubKind} from '../../constants.kind.ts';
|
|
11
|
-
import {childIsExpression, createIfElseFn, isSafePropName, toLiteral} from '../../lib/utils.ts';
|
|
12
|
-
import {jitBinaryDeserializerArgs, JitFunctions} from '../../constants.functions.ts';
|
|
13
|
-
import {MAX_UNION_ITEMS} from '../../constants.ts';
|
|
14
|
-
import type {JitCode} from '../../types.ts';
|
|
15
|
-
import type {BaseRunType} from '../../lib/baseRunTypes.ts';
|
|
16
|
-
import {type BaseFnCompiler} from '../../lib/jitFnCompiler.ts';
|
|
17
|
-
import type {LiteralRunType} from '../../nodes/atomic/literal.ts';
|
|
18
|
-
import type {ArrayRunType} from '../../nodes/member/array.ts';
|
|
19
|
-
import type {PropertyRunType} from '../../nodes/member/property.ts';
|
|
20
|
-
import type {InterfaceRunType} from '../../nodes/collection/interface.ts';
|
|
21
|
-
import type {IndexSignatureRunType} from '../../nodes/member/indexProperty.ts';
|
|
22
|
-
import type {ClassRunType} from '../../nodes/collection/class.ts';
|
|
23
|
-
import type {TupleRunType} from '../../nodes/collection/tuple.ts';
|
|
24
|
-
import type {ParameterRunType} from '../../nodes/member/param.ts';
|
|
25
|
-
import type {RestParamsRunType} from '../../nodes/member/restParams.ts';
|
|
26
|
-
import type {UnionRunType} from '../../nodes/collection/union.ts';
|
|
27
|
-
import type {IterableRunType} from '../../nodes/native/Iterable.ts';
|
|
28
|
-
import type {MapRunType} from '../../nodes/native/map.ts';
|
|
29
|
-
|
|
30
|
-
type BinaryCompiler = BaseFnCompiler<typeof jitBinaryDeserializerArgs, typeof JitFunctions.fromBinary.id>;
|
|
31
|
-
|
|
32
|
-
const fnID = JitFunctions.fromBinary.id;
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Main Binary deserialization compiler function
|
|
36
|
-
* Generates JIT code to deserialize Binary data to JavaScript values
|
|
37
|
-
*/
|
|
38
|
-
export function emitFromBinary(runType: BaseRunType, comp: BinaryCompiler): JitCode {
|
|
39
|
-
const src = runType.src;
|
|
40
|
-
const kind = src.kind;
|
|
41
|
-
const dεs = comp.args.dεs;
|
|
42
|
-
|
|
43
|
-
// hack is used in some case to increase the index passing an extra argument to view.get methods
|
|
44
|
-
// ie: view.getUint32(index, littleEndian, index += 4);
|
|
45
|
-
// getUint32 only accepts 2 arguments, but we use the 3rd one to increase the index on a single statement so code can be used as an expression
|
|
46
|
-
|
|
47
|
-
switch (kind) {
|
|
48
|
-
// ###################### ATOMIC TYPES ######################
|
|
49
|
-
case ReflectionKind.unknown:
|
|
50
|
-
case ReflectionKind.any: {
|
|
51
|
-
// any is deserialized from json string
|
|
52
|
-
return {code: `JSON.parse(${dεs}.desString())`, type: 'E'};
|
|
53
|
-
}
|
|
54
|
-
case ReflectionKind.null:
|
|
55
|
-
return {code: `(${dεs}.index++, null)`, type: 'E'};
|
|
56
|
-
case ReflectionKind.boolean:
|
|
57
|
-
return {code: `${dεs}.view.getUint8(${dεs}.index++) === 1`, type: 'E'};
|
|
58
|
-
case ReflectionKind.number: {
|
|
59
|
-
return {code: `${dεs}.view.getFloat64(${dεs}.index, 1, (${dεs}.index += 8))`, type: 'E'};
|
|
60
|
-
}
|
|
61
|
-
case ReflectionKind.string: {
|
|
62
|
-
return {code: `${dεs}.desString()`, type: 'E'};
|
|
63
|
-
}
|
|
64
|
-
case ReflectionKind.bigint: {
|
|
65
|
-
return {code: `BigInt(${dεs}.desString(true))`, type: 'E'};
|
|
66
|
-
}
|
|
67
|
-
case ReflectionKind.undefined:
|
|
68
|
-
case ReflectionKind.void:
|
|
69
|
-
return {code: `(${dεs}.index++, undefined)`, type: 'E'};
|
|
70
|
-
case ReflectionKind.symbol: {
|
|
71
|
-
return {code: `Symbol(${dεs}.desString() || undefined)`, type: 'E'};
|
|
72
|
-
}
|
|
73
|
-
case ReflectionKind.regexp: {
|
|
74
|
-
return {code: `new RegExp(${dεs}.desString(), ${dεs}.desString())`, type: 'E'};
|
|
75
|
-
}
|
|
76
|
-
case ReflectionKind.object:
|
|
77
|
-
// similar to any, this is deserialized as json string
|
|
78
|
-
return {code: `JSON.parse(${dεs}.desString())`, type: 'E'};
|
|
79
|
-
case ReflectionKind.enum: {
|
|
80
|
-
return {code: `${dεs}.desEnum()`, type: 'E'};
|
|
81
|
-
}
|
|
82
|
-
case ReflectionKind.enumMember:
|
|
83
|
-
throw new Error('Binary deserialization not supported for enum member types');
|
|
84
|
-
case ReflectionKind.never:
|
|
85
|
-
throw new Error('Never type cannot be deserialized from Binary');
|
|
86
|
-
case ReflectionKind.templateLiteral:
|
|
87
|
-
// runtime value is a plain string
|
|
88
|
-
return {code: `${dεs}.desString()`, type: 'E'};
|
|
89
|
-
case ReflectionKind.literal: {
|
|
90
|
-
if (comp.opts.noLiterals) {
|
|
91
|
-
const lit = (runType as LiteralRunType).src.literal;
|
|
92
|
-
if (lit instanceof RegExp) return emitFromBinaryAs(runType, comp, ReflectionKind.regexp);
|
|
93
|
-
switch (typeof lit) {
|
|
94
|
-
case 'string':
|
|
95
|
-
return emitFromBinaryAs(runType, comp, ReflectionKind.string);
|
|
96
|
-
case 'number':
|
|
97
|
-
return emitFromBinaryAs(runType, comp, ReflectionKind.number);
|
|
98
|
-
case 'boolean':
|
|
99
|
-
return emitFromBinaryAs(runType, comp, ReflectionKind.boolean);
|
|
100
|
-
case 'bigint':
|
|
101
|
-
return emitFromBinaryAs(runType, comp, ReflectionKind.bigint);
|
|
102
|
-
case 'symbol':
|
|
103
|
-
return emitFromBinaryAs(runType, comp, ReflectionKind.symbol);
|
|
104
|
-
default:
|
|
105
|
-
throw new Error(`Unsupported literal type ${typeof lit}`);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
return {code: toLiteral((runType as LiteralRunType).src.literal), type: 'E'};
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
// ###################### MEMBER RUNTYPES ######################
|
|
112
|
-
// Types that represent members of collections or other structures
|
|
113
|
-
case ReflectionKind.rest: // rest params are deserialized as array but start at rest item index
|
|
114
|
-
case ReflectionKind.array: {
|
|
115
|
-
const rt = runType as ArrayRunType | RestParamsRunType;
|
|
116
|
-
rt.checkNonSkipTypes(comp);
|
|
117
|
-
const child = rt.getMemberType()!;
|
|
118
|
-
const childCode = comp.compile(child, 'S', fnID);
|
|
119
|
-
if (!childCode?.code) throw new Error(`Do not know how to deserialize Array<${child.getTypeName()}> from Binary.`);
|
|
120
|
-
const isRest = rt.src.kind === ReflectionKind.rest;
|
|
121
|
-
const index = rt.getChildVarName(comp);
|
|
122
|
-
const isExpression = childIsExpression(childCode, child);
|
|
123
|
-
const code = isExpression ? `${comp.getChildVλl()} = ${childCode.code};` : childCode.code;
|
|
124
|
-
// deserialized from [length, items...]
|
|
125
|
-
const lengthVal = comp.getLocalVarName('arrL', rt);
|
|
126
|
-
const arrayInit = isRest ? '' : `${comp.vλl} = new Array(${lengthVal})`; // res array already initialized in parent
|
|
127
|
-
return {
|
|
128
|
-
code: `
|
|
129
|
-
const ${lengthVal} = ${dεs}.view.getUint32(${dεs}.index, 1); ${dεs}.index += 4; ${arrayInit};
|
|
130
|
-
for (let ${index} = ${rt.startIndex(comp)}; ${index} < ${lengthVal}; ${index}++) {${code}}
|
|
131
|
-
`,
|
|
132
|
-
type: 'S',
|
|
133
|
-
};
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
case ReflectionKind.indexSignature: {
|
|
137
|
-
const rt = runType as IndexSignatureRunType;
|
|
138
|
-
const indexKind = (rt.src as any).index?.kind;
|
|
139
|
-
const memberCode = comp.compile(rt.getJitChild(comp), 'S', fnID);
|
|
140
|
-
if (!memberCode?.code) return {code: undefined, type: 'E'};
|
|
141
|
-
|
|
142
|
-
const prop = rt.getChildVarName(comp);
|
|
143
|
-
const countVar = comp.getLocalVarName('cnt', rt);
|
|
144
|
-
const indexVar = comp.getLocalVarName('propI', rt);
|
|
145
|
-
|
|
146
|
-
// Deserialize key based on index type
|
|
147
|
-
let keyDeserializationCode: string;
|
|
148
|
-
if (indexKind === ReflectionKind.number) {
|
|
149
|
-
// For number indices, deserialize as uint32
|
|
150
|
-
keyDeserializationCode = `const ${prop} = ${dεs}.view.getUint32(${dεs}.index, 1); ${dεs}.index += 4;`;
|
|
151
|
-
} else {
|
|
152
|
-
// For string indices, deserialize as string with prototype pollution protection
|
|
153
|
-
keyDeserializationCode = `const ${prop} = ${dεs}.desSafePropName();`;
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
const memberInit = memberCode.type === 'E' ? `${comp.vλl}[${prop}] = ${memberCode.code};` : memberCode.code;
|
|
157
|
-
const deserializeCode = `for (let ${indexVar} = 0; ${indexVar} < ${countVar}; ${indexVar}++) {${keyDeserializationCode}${memberInit}}`;
|
|
158
|
-
|
|
159
|
-
return {
|
|
160
|
-
code: `const ${countVar} = ${dεs}.view.getUint32(${dεs}.index, 1); ${dεs}.index += 4; ${comp.vλl} = {}; ${deserializeCode}`,
|
|
161
|
-
type: 'S',
|
|
162
|
-
};
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
case ReflectionKind.function:
|
|
166
|
-
case ReflectionKind.method:
|
|
167
|
-
case ReflectionKind.methodSignature:
|
|
168
|
-
case ReflectionKind.callSignature:
|
|
169
|
-
if (runType.src.subKind === ReflectionSubKind.params) {
|
|
170
|
-
return emitFromBinaryAs(runType, comp, ReflectionKind.tuple);
|
|
171
|
-
} else {
|
|
172
|
-
throw new Error(
|
|
173
|
-
'Binary deserialization not supported for functions, call compileParams or compileReturn instead.'
|
|
174
|
-
);
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
case ReflectionKind.parameter: {
|
|
178
|
-
const rt = runType as ParameterRunType;
|
|
179
|
-
switch (src.subKind) {
|
|
180
|
-
case ReflectionSubKind.mapKey:
|
|
181
|
-
case ReflectionSubKind.mapValue:
|
|
182
|
-
case ReflectionSubKind.setItem: {
|
|
183
|
-
const child = rt.getJitChild(comp);
|
|
184
|
-
const childJit = comp.compile(child, 'S', fnID);
|
|
185
|
-
if (!childJit?.code || !child)
|
|
186
|
-
throw new Error(`Do not know how to deserialize ${rt.getTypeName()} from Binary.`);
|
|
187
|
-
const parent = rt.getParent()!;
|
|
188
|
-
const parentVλl = parent.getCustomVλl(comp)?.vλl || comp.vλl;
|
|
189
|
-
const vλl = rt.getCustomVλl(comp)?.vλl;
|
|
190
|
-
const isExpression = childIsExpression(childJit, child);
|
|
191
|
-
const code = isExpression ? `const ${vλl} = ${childJit.code};` : childJit.code || '';
|
|
192
|
-
let setOperation = '';
|
|
193
|
-
switch (rt.src.subKind) {
|
|
194
|
-
case ReflectionSubKind.mapKey:
|
|
195
|
-
break; // we set map item once we have the key and value
|
|
196
|
-
case ReflectionSubKind.mapValue: {
|
|
197
|
-
const mapKey = (parent as MapRunType).getMapKeyVλl(comp); // not the best solution but works
|
|
198
|
-
setOperation = `${parentVλl}.set(${mapKey}, ${vλl})`;
|
|
199
|
-
break;
|
|
200
|
-
}
|
|
201
|
-
case ReflectionSubKind.setItem:
|
|
202
|
-
setOperation = `${parentVλl}.add(${vλl})`;
|
|
203
|
-
break;
|
|
204
|
-
}
|
|
205
|
-
return {code: `${code}; ${setOperation};`, type: 'S'};
|
|
206
|
-
}
|
|
207
|
-
default:
|
|
208
|
-
return emitFromBinaryAs(runType, comp, ReflectionKind.tupleMember);
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
case ReflectionKind.property:
|
|
213
|
-
case ReflectionKind.propertySignature: {
|
|
214
|
-
const rt = runType as PropertyRunType;
|
|
215
|
-
const parent = rt.getParent() as InterfaceRunType;
|
|
216
|
-
const child = rt.getJitChild(comp)!;
|
|
217
|
-
const childJit = comp.compile(child, 'S', fnID);
|
|
218
|
-
if (rt.isOptional()) {
|
|
219
|
-
const {bitMIndexVar, bitIndex} = getOptionalBitmapItems(parent, comp, 0, rt.optionalIndex, false);
|
|
220
|
-
const initCode = childJit.type === 'E' ? `${comp.getChildVλl()} = ${childJit.code};` : childJit.code;
|
|
221
|
-
return {
|
|
222
|
-
code: `if (${dεs}.view.getUint8(${bitMIndexVar}, 1) & (1 << (${bitIndex}))) {${initCode}}`,
|
|
223
|
-
type: 'S',
|
|
224
|
-
};
|
|
225
|
-
}
|
|
226
|
-
// block or statements code are initialized as obj.a = deserializeA; obj.b = deserializeB; after initial object has been created
|
|
227
|
-
const isExpression = childIsExpression(childJit, child);
|
|
228
|
-
if (!isExpression) {
|
|
229
|
-
return childJit; // block statements already include variable assignment
|
|
230
|
-
}
|
|
231
|
-
// required props that are simple expressions code are part of an object constructor {a: deserializeA, b: deserializeB, c: deserializeC}
|
|
232
|
-
const propName = getPropName(rt, comp, true);
|
|
233
|
-
return {code: `${propName}:${childJit?.code}`, type: 'E'};
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
case ReflectionKind.tupleMember: {
|
|
237
|
-
const rt = runType as ParameterRunType;
|
|
238
|
-
const childJit = comp.compile(rt.getJitChild(comp), 'S', fnID);
|
|
239
|
-
const nullJIt = emitFromBinaryAs(rt, comp, ReflectionKind.undefined);
|
|
240
|
-
const itemJit = childJit?.code ? childJit : nullJIt; // if child is not serializable, we serialize null as need to fill the space in the tuple
|
|
241
|
-
const initCode = itemJit.type === 'E' ? `${comp.getChildVλl()} = ${itemJit.code}` : itemJit.code;
|
|
242
|
-
if (rt.isRest()) return itemJit;
|
|
243
|
-
// Optional handling uses bitmap set at tuple level
|
|
244
|
-
const optionalIndex = (rt as any).optionalIndex;
|
|
245
|
-
const bitMIndexVar = (rt as any)._bitmapVar;
|
|
246
|
-
const isFnParam = (rt as any)._isFnParam;
|
|
247
|
-
// Treat as optional if either isOptional() is true OR it's a function param (all fn params are optional in binary)
|
|
248
|
-
const isOptional = rt.isOptional() || isFnParam;
|
|
249
|
-
if (isOptional && optionalIndex !== undefined && bitMIndexVar) {
|
|
250
|
-
const bitIndex = optionalIndex & 7; // equivalent to optionalIndex % 8
|
|
251
|
-
const code = `if (${dεs}.view.getUint8(${bitMIndexVar}, 1) & (1 << (${bitIndex}))) {${initCode}}`;
|
|
252
|
-
return {code, type: 'S'};
|
|
253
|
-
}
|
|
254
|
-
return {code: initCode, type: 'S'};
|
|
255
|
-
}
|
|
256
|
-
case ReflectionKind.promise:
|
|
257
|
-
throw new Error('Jit compilation disabled for Non Serializable types.');
|
|
258
|
-
|
|
259
|
-
// ###################### COLLECTION RUNTYPES ######################
|
|
260
|
-
// Types that contain other types as members
|
|
261
|
-
case ReflectionKind.objectLiteral:
|
|
262
|
-
case ReflectionKind.intersection: {
|
|
263
|
-
const rt = runType as InterfaceRunType;
|
|
264
|
-
if (rt.isCallable()) return comp.compile(rt.getCallSignature(), 'S', fnID);
|
|
265
|
-
if (runType.src.subKind === ReflectionSubKind.nonSerializable) {
|
|
266
|
-
throw new Error('Binary deserialization is disabled for Non Serializable types');
|
|
267
|
-
} else {
|
|
268
|
-
const {required, optional, indexSignatures} = rt.splitJitSplitChildren(comp);
|
|
269
|
-
if (indexSignatures.length) {
|
|
270
|
-
return comp.compile(indexSignatures[0], 'S', fnID); // index signature code already contains the loop
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
// required props that are simple expressions are restored as: '{a: deserializeA, b: deserializeB, c: deserializeC};
|
|
274
|
-
// and are serialized/deserialised in the same order they are declared in the type
|
|
275
|
-
const requiredItemsJit = required.map((prop) => comp.compile(prop, 'S', fnID));
|
|
276
|
-
const expressionItemsJit = requiredItemsJit
|
|
277
|
-
.filter((childJit, i) => childIsExpression(childJit, required[i]))
|
|
278
|
-
.map((prop) => prop.code)
|
|
279
|
-
.filter(Boolean);
|
|
280
|
-
const statementItemsCode = requiredItemsJit
|
|
281
|
-
.filter(Boolean)
|
|
282
|
-
.filter((childJit, i) => !childIsExpression(childJit, required[i]))
|
|
283
|
-
.map((prop) => prop.code);
|
|
284
|
-
const expressionsPropsCode = expressionItemsJit.join(',');
|
|
285
|
-
const requiredPropsCode = statementItemsCode.join(';');
|
|
286
|
-
|
|
287
|
-
// optional props are initialized as obj.a = deserializeA; obj.b = deserializeB; obj.c = deserializeC;
|
|
288
|
-
// bitmap is used to determine which optional props are present
|
|
289
|
-
// header format: [bitmap, optional props]
|
|
290
|
-
let optionalPropsCode = '';
|
|
291
|
-
if (optional.length) {
|
|
292
|
-
// optional properties are restored using a loop
|
|
293
|
-
const {bitMapInit, bitMIndexVar} = getOptionalBitmapItems(rt, comp, optional.length, 0, false);
|
|
294
|
-
const propsCode = optional
|
|
295
|
-
.map((prop, i) => {
|
|
296
|
-
prop.optionalIndex = i;
|
|
297
|
-
const modIndex = i + 1;
|
|
298
|
-
const shouldIncreaseBufferIndex = modIndex % 8 === 0;
|
|
299
|
-
const propCode = comp.compile(prop, 'S', fnID).code;
|
|
300
|
-
if (!shouldIncreaseBufferIndex) return propCode;
|
|
301
|
-
// every 8 props we need to increase the bitmap index
|
|
302
|
-
return `${propCode} ${bitMIndexVar}++; `;
|
|
303
|
-
})
|
|
304
|
-
.filter(Boolean)
|
|
305
|
-
.join('');
|
|
306
|
-
const sep = requiredPropsCode ? ';' : '';
|
|
307
|
-
optionalPropsCode = `${sep}\n${bitMapInit}\n${propsCode}`;
|
|
308
|
-
}
|
|
309
|
-
|
|
310
|
-
const canBeExpression = !requiredPropsCode && !optionalPropsCode;
|
|
311
|
-
if (canBeExpression) return {code: `{${expressionsPropsCode}}`, type: 'E'};
|
|
312
|
-
return {code: `${comp.vλl} = {${expressionsPropsCode}}\n${requiredPropsCode}${optionalPropsCode}`, type: 'S'};
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
|
-
case ReflectionKind.class:
|
|
316
|
-
switch (runType.src.subKind) {
|
|
317
|
-
case ReflectionSubKind.date:
|
|
318
|
-
return {code: `new Date(${dεs}.view.getFloat64(${dεs}.index, 1, (${dεs}.index += 8)))`, type: 'E'};
|
|
319
|
-
case ReflectionSubKind.map:
|
|
320
|
-
case ReflectionSubKind.set: {
|
|
321
|
-
const rt = runType as IterableRunType;
|
|
322
|
-
const children = rt.getJitChildren(comp);
|
|
323
|
-
const vλl = rt.getCustomVλl(comp)?.vλl || comp.vλl;
|
|
324
|
-
const initCode = `const ${vλl} = new ${rt.constructorName}()`;
|
|
325
|
-
if (!children.length) return {code: `new ${rt.constructorName}()`, type: 'E'};
|
|
326
|
-
const childrenCode = children
|
|
327
|
-
.map((c) => comp.compile(c, 'S', fnID).code)
|
|
328
|
-
.filter(Boolean)
|
|
329
|
-
.join(';');
|
|
330
|
-
if (!childrenCode) return {code: initCode, type: 'E'};
|
|
331
|
-
const index = comp.getLocalVarName('itI', rt);
|
|
332
|
-
const lengthVar = comp.getLocalVarName('itL', rt);
|
|
333
|
-
const readLength = `const ${lengthVar} = ${dεs}.view.getUint32(${dεs}.index, 1); ${dεs}.index += 4`;
|
|
334
|
-
return {
|
|
335
|
-
code: `${initCode}; ${readLength}; for (let ${index} = 0; ${index} < ${lengthVar}; ${index}++) {${childrenCode}} ${comp.vλl} = ${vλl};`,
|
|
336
|
-
type: 'S',
|
|
337
|
-
};
|
|
338
|
-
}
|
|
339
|
-
case ReflectionSubKind.nonSerializable:
|
|
340
|
-
throw new Error('Binary deserialization disabled for Non Serializable types');
|
|
341
|
-
default: {
|
|
342
|
-
const rt = runType as ClassRunType;
|
|
343
|
-
if (rt.isCallable()) {
|
|
344
|
-
const callSignature = rt.getCallSignature();
|
|
345
|
-
if (callSignature) return comp.compile(callSignature, 'S', fnID);
|
|
346
|
-
}
|
|
347
|
-
const originalKind = rt.src.kind;
|
|
348
|
-
(runType.src as any).kind = ReflectionKind.objectLiteral;
|
|
349
|
-
const plainObjCode = emitFromBinary(rt, comp);
|
|
350
|
-
(runType.src as any).kind = originalKind;
|
|
351
|
-
const desFnVarName = comp.getLocalVarName('desFn', rt);
|
|
352
|
-
const desFnInit = `let ${desFnVarName} = utl.${getJitUtils().getDeserializeFn.name}(${toLiteral(rt.getClassName())})`;
|
|
353
|
-
const desFnCode = `if (${desFnVarName}) {${comp.vλl} = ${desFnVarName}(${comp.vλl})}`;
|
|
354
|
-
const desClassCode = `else if (${desFnVarName} = utl.${getJitUtils().getSerializeClass.name}(${toLiteral(rt.getClassName())})) {${comp.vλl} = new ${desFnVarName}(${comp.vλl})}`;
|
|
355
|
-
const initCode = plainObjCode.type === 'E' ? `${comp.vλl} = ${plainObjCode.code}` : plainObjCode.code;
|
|
356
|
-
return {code: `${initCode};${desFnInit};${desFnCode} ${desClassCode}`, type: 'S'};
|
|
357
|
-
}
|
|
358
|
-
}
|
|
359
|
-
break;
|
|
360
|
-
|
|
361
|
-
case ReflectionKind.infer:
|
|
362
|
-
throw new Error('Infer is not supported in Binary deserialization');
|
|
363
|
-
|
|
364
|
-
case ReflectionKind.tuple: {
|
|
365
|
-
const rt = runType as TupleRunType;
|
|
366
|
-
const skip = rt.skipJit(comp);
|
|
367
|
-
if (skip) return {code: undefined, type: 'S'};
|
|
368
|
-
const params = rt.getParamRunTypes(comp);
|
|
369
|
-
|
|
370
|
-
// For function params, all params are treated as optional in binary serialization
|
|
371
|
-
// This allows sending null/undefined values over the wire even if the type is not optional
|
|
372
|
-
const isFnParams = runType.src.subKind === ReflectionSubKind.params;
|
|
373
|
-
|
|
374
|
-
// For function params, all params are optional so we can't use fixed size
|
|
375
|
-
const hasFixedSize = !isFnParams && params.every((p) => !p.isOptional() && !p.isRest());
|
|
376
|
-
const initTuple = hasFixedSize ? `${comp.vλl} = new Array(${params.length});` : `${comp.vλl} = [];`;
|
|
377
|
-
if (params.length === 0) return {code: initTuple, type: 'S'};
|
|
378
|
-
|
|
379
|
-
// Split params into required, optional, and rest
|
|
380
|
-
// For function params, all non-rest params are treated as optional
|
|
381
|
-
const required = isFnParams ? [] : params.filter((p) => !p.isOptional() && !p.isRest());
|
|
382
|
-
const optional = isFnParams ? params.filter((p) => !p.isRest()) : params.filter((p) => p.isOptional() && !p.isRest());
|
|
383
|
-
const rest = params.filter((p) => p.isRest());
|
|
384
|
-
|
|
385
|
-
// Deserialize required params first
|
|
386
|
-
const requiredCode = required.map((p) => comp.compile(p, 'S', fnID).code || '').join(';');
|
|
387
|
-
|
|
388
|
-
// Deserialize optional params with bitmap (groups of 8)
|
|
389
|
-
let optionalCode = '';
|
|
390
|
-
if (optional.length) {
|
|
391
|
-
const {bitMapInit, bitMIndexVar} = getOptionalBitmapItems(rt, comp, optional.length, 0, true);
|
|
392
|
-
const optionalParamsCode = optional
|
|
393
|
-
.map((p, i) => {
|
|
394
|
-
(p as any).optionalIndex = i; // set optionalIndex for use in tupleMember case
|
|
395
|
-
(p as any)._bitmapVar = bitMIndexVar; // pass bitmap variable name to tupleMember case
|
|
396
|
-
(p as any)._isFnParam = isFnParams; // flag to indicate this is a function param
|
|
397
|
-
const paramCode = comp.compile(p, 'S', fnID).code || '';
|
|
398
|
-
const modIndex = i + 1;
|
|
399
|
-
const shouldIncreaseBufferIndex = modIndex % 8 === 0 && modIndex < optional.length;
|
|
400
|
-
const increaseIndex = shouldIncreaseBufferIndex ? `${bitMIndexVar}++;` : '';
|
|
401
|
-
return `${paramCode} ${increaseIndex}`;
|
|
402
|
-
})
|
|
403
|
-
.join('');
|
|
404
|
-
optionalCode = `${bitMapInit}\n${optionalParamsCode}`;
|
|
405
|
-
}
|
|
406
|
-
|
|
407
|
-
// Deserialize rest params (handled as array by the rest param itself)
|
|
408
|
-
const restCode = rest.map((p) => comp.compile(p, 'S', fnID).code || '').join(';');
|
|
409
|
-
|
|
410
|
-
const allCode = [requiredCode, optionalCode, restCode].filter(Boolean).join(';');
|
|
411
|
-
return {code: `${initTuple}${allCode}`, type: 'S'};
|
|
412
|
-
}
|
|
413
|
-
case ReflectionKind.typeParameter:
|
|
414
|
-
throw new Error('Type parameter not implemented in Binary deserialization');
|
|
415
|
-
|
|
416
|
-
case ReflectionKind.union: {
|
|
417
|
-
const rt = runType as UnionRunType;
|
|
418
|
-
rt.checkAllowedChildren(comp);
|
|
419
|
-
const decVar = comp.getLocalVarName('dec', rt);
|
|
420
|
-
const errVarName = comp.getLocalVarName('uErr', rt);
|
|
421
|
-
comp.setContextItem(errVarName, `const ${errVarName} = "Can not binary decode union: invalid union index"`);
|
|
422
|
-
const children = rt.getJitChildren(comp);
|
|
423
|
-
if (children.length > MAX_UNION_ITEMS) {
|
|
424
|
-
throw new Error(
|
|
425
|
-
`Binary deserialization not supported for Union with more than ${MAX_UNION_ITEMS} items.` +
|
|
426
|
-
` Found ${children.length} in ${rt.getUnionTypeNames()}`
|
|
427
|
-
);
|
|
428
|
-
}
|
|
429
|
-
const maxIndex = children.length - 1;
|
|
430
|
-
const isUint16 = maxIndex > 255;
|
|
431
|
-
const readIndex = isUint16
|
|
432
|
-
? `const ${decVar} = ${dεs}.view.getUint16(${dεs}.index, 1); ${dεs}.index += 2;`
|
|
433
|
-
: `const ${decVar} = ${dεs}.view.getUint8(${dεs}.index++);`;
|
|
434
|
-
const ifElse = createIfElseFn();
|
|
435
|
-
const itemsCode = children
|
|
436
|
-
.map((unionItem) => {
|
|
437
|
-
const childJit = comp.compile(unionItem, 'S', fnID);
|
|
438
|
-
const isExpression = childIsExpression(childJit, unionItem);
|
|
439
|
-
const code =
|
|
440
|
-
isExpression && childJit.code && childJit.code !== comp.vλl
|
|
441
|
-
? `${comp.vλl} = ${childJit.code}`
|
|
442
|
-
: childJit.code || '';
|
|
443
|
-
const index = rt.getUnionItemIndex(comp, unionItem);
|
|
444
|
-
return `${ifElse()} (${decVar} === ${index}) {${code || '/*noop*/'}}`;
|
|
445
|
-
})
|
|
446
|
-
.filter(Boolean);
|
|
447
|
-
const childrenCode = itemsCode.join('');
|
|
448
|
-
const failCode = childrenCode ? `else {throw new Error(${errVarName})}` : '';
|
|
449
|
-
const code = `
|
|
450
|
-
${readIndex}
|
|
451
|
-
${childrenCode}
|
|
452
|
-
${failCode}
|
|
453
|
-
`;
|
|
454
|
-
return {code, type: 'S'};
|
|
455
|
-
}
|
|
456
|
-
|
|
457
|
-
default:
|
|
458
|
-
throw new Error(`Binary deserialization not supported for ${ReflectionKind[kind]} types`);
|
|
459
|
-
}
|
|
460
|
-
throw new Error(`Do not know how to deserialize ${runType.getTypeName()} from Binary.`);
|
|
461
|
-
}
|
|
462
|
-
|
|
463
|
-
function getPropName(rt: PropertyRunType, comp: BinaryCompiler, isObjectConstructor: boolean): string | number {
|
|
464
|
-
const isSafe = isSafePropName(rt.src.name);
|
|
465
|
-
if (isObjectConstructor) return isSafe ? rt.getChildVarName(comp) : rt.getChildLiteral(comp);
|
|
466
|
-
return isSafe ? `.${rt.getChildVarName(comp)}` : `[${rt.getChildLiteral(comp)}]`;
|
|
467
|
-
}
|
|
468
|
-
|
|
469
|
-
/** Generates bitmap reading code for optional properties/params. Uses 1 bit per optional item (8 items per byte). */
|
|
470
|
-
function getOptionalBitmapItems(
|
|
471
|
-
rt: InterfaceRunType | TupleRunType,
|
|
472
|
-
comp: BinaryCompiler,
|
|
473
|
-
optionalLength = 0,
|
|
474
|
-
currentIndex = 0,
|
|
475
|
-
isTuple = false
|
|
476
|
-
) {
|
|
477
|
-
const dεs = comp.args.dεs;
|
|
478
|
-
const prefix = isTuple ? 't' : '';
|
|
479
|
-
const bitMIndexVar = comp.getLocalVarName(`${prefix}bimI`, rt); // index of the bitmap
|
|
480
|
-
const bitmapLength = Math.ceil(optionalLength / 8);
|
|
481
|
-
const bitIndex = `${currentIndex} & 7`; // equivalent to index % 8
|
|
482
|
-
// bitmap for present optional items
|
|
483
|
-
const bitMapInit = `${bitmapLength > 1 ? 'let ' : 'const'} ${bitMIndexVar} = ${dεs}.index; ${dεs}.index += ${bitmapLength};`;
|
|
484
|
-
return {bitMIndexVar, bitmapLength, bitIndex, bitMapInit};
|
|
485
|
-
}
|
|
486
|
-
|
|
487
|
-
function emitFromBinaryAs(rt: BaseRunType, comp: BinaryCompiler, kind: ReflectionKind): JitCode {
|
|
488
|
-
const originalKind = rt.src.kind;
|
|
489
|
-
(rt.src as any).kind = kind;
|
|
490
|
-
const result = emitFromBinary(rt, comp);
|
|
491
|
-
(rt.src as any).kind = originalKind;
|
|
492
|
-
return result;
|
|
493
|
-
}
|