@mionjs/run-types 0.8.8 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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 -284
- 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 -310
- 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/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 -130
- package/.dist/cjs/src/nodes/member/indexProperty.cjs.map +0 -1
- package/.dist/cjs/src/nodes/member/indexProperty.d.ts +0 -22
- 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 -284
- 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 -310
- 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/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 -22
- package/.dist/esm/src/nodes/member/indexProperty.d.ts.map +0 -1
- package/.dist/esm/src/nodes/member/indexProperty.js +0 -130
- 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 -323
- 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 -492
- package/src/jitCompilers/binary/toBinary.ts +0 -435
- package/src/jitCompilers/equalsHelpers.ts +0 -62
- package/src/jitCompilers/json/jsonSpec/jsonHelpers.ts +0 -64
- package/src/jitCompilers/json/stringifyJson.ts +0 -475
- package/src/jitCompilers/json/stringifySpec/stringifyHelpers.ts +0 -59
- package/src/jitCompilers/json/toJsCode.ts +0 -182
- package/src/jitCompilers/serialization-suite.ts +0 -1637
- package/src/jitCompilers/xyz-Template/fromXYZ.ts +0 -211
- package/src/jitCompilers/xyz-Template/toXYZ.ts +0 -216
- 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 -354
- 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/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 -125
- 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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tuple.d.ts","sourceRoot":"","sources":["../../../../../src/nodes/collection/tuple.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAe,SAAS,EAAC,MAAM,eAAe,CAAC;AAC3D,OAAO,KAAK,EAAC,aAAa,EAAE,mBAAmB,EAAC,MAAM,4BAA4B,CAAC;AACnF,OAAO,KAAK,EAAC,uBAAuB,EAAW,OAAO,EAAC,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAC;AAE5D,KAAK,eAAe,GAAG,gBAAgB,GAAG,kBAAkB,CAAC;AAE7D,qBAAa,YAAY,CACrB,SAAS,SAAS,uBAAuB,GAAG,SAAS,EACrD,SAAS,SAAS,eAAe,GAAG,kBAAkB,CACxD,SAAQ,iBAAiB,CAAC,SAAS,CAAC;IAClC,gBAAgB,QAAO,SAAS,EAAE,CAGhC;IACF,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,EAAE;IAQlD,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAK9C,mBAAmB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM;IAKhD,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IASxC,cAAc,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO;IAUlD,kBAAkB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAShD,mBAAmB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;CASpD"}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { TupleMemberRunType } from "../member/tupleMember.js";
|
|
2
|
-
import { CollectionRunType } from "../../lib/baseRunTypes.js";
|
|
3
|
-
function __assignType(fn, args) {
|
|
4
|
-
fn.__type = args;
|
|
5
|
-
return fn;
|
|
6
|
-
}
|
|
7
|
-
class TupleRunType extends CollectionRunType {
|
|
8
|
-
getChildRunTypes = __assignType(() => {
|
|
9
|
-
const childTypes = this.src.parameters || this.src.types || [];
|
|
10
|
-
return childTypes.map(__assignType((t) => t._rt, ["t", "", 'P"2!"/"']));
|
|
11
|
-
}, ["", "P!F/!"]);
|
|
12
|
-
getParamRunTypes(comp) {
|
|
13
|
-
const start = comp.opts?.paramsSlice?.start;
|
|
14
|
-
const end = comp.opts?.paramsSlice?.end;
|
|
15
|
-
const children = this.getChildRunTypes();
|
|
16
|
-
if (!start && !end)
|
|
17
|
-
return children;
|
|
18
|
-
return children.slice(start, end);
|
|
19
|
-
}
|
|
20
|
-
hasRestParameter(comp) {
|
|
21
|
-
return !!this.getParamRunTypes(comp).length && this.getParamRunTypes(comp)[this.getParamRunTypes(comp).length - 1].isRest();
|
|
22
|
-
}
|
|
23
|
-
totalRequiredParams(comp) {
|
|
24
|
-
return this.getParamRunTypes(comp).filter(__assignType((p) => !p.isOptional() && !p.isRest(), ["p", "", 'P"2!"/"'])).length;
|
|
25
|
-
}
|
|
26
|
-
// ####### params #######
|
|
27
|
-
emitIsType(comp) {
|
|
28
|
-
const children = this.getParamRunTypes(comp);
|
|
29
|
-
if (children.length === 0 && comp.opts.noIsArrayCheck)
|
|
30
|
-
return { code: void 0, type: "E" };
|
|
31
|
-
if (children.length === 0)
|
|
32
|
-
return { code: `Array.isArray(${comp.vλl}) && ${comp.vλl}.length === 0`, type: "E" };
|
|
33
|
-
const lengthCode = this.hasRestParameter(comp) ? "" : `&& ${comp.vλl}.length <= ${this.getParamRunTypes(comp).length}`;
|
|
34
|
-
const paramsCode = children.map(__assignType((p) => `(${comp.compileIsType(p, "E").code})`, ["p", "", 'P"2!"/"'])).join(" && ");
|
|
35
|
-
const checkIsArrayCode = comp.opts.noIsArrayCheck ? "" : `Array.isArray(${comp.vλl})${lengthCode} && `;
|
|
36
|
-
return { code: `(${checkIsArrayCode} ${paramsCode})`, type: "E" };
|
|
37
|
-
}
|
|
38
|
-
emitTypeErrors(comp) {
|
|
39
|
-
const children = this.getParamRunTypes(comp);
|
|
40
|
-
if (children.length === 0 && comp.opts.noIsArrayCheck)
|
|
41
|
-
return { code: void 0, type: "S" };
|
|
42
|
-
if (children.length === 0)
|
|
43
|
-
return { code: `if (!Array.isArray(${comp.vλl}) || && ${comp.vλl}.length === 0) ${comp.callJitErr(this)}`, type: "S" };
|
|
44
|
-
const lengthCode = this.hasRestParameter(comp) ? "" : `|| ${comp.vλl}.length > ${this.getParamRunTypes(comp).length}`;
|
|
45
|
-
const paramsCode = children.map(__assignType((p) => comp.compileTypeErrors(p, "S").code, ["p", "", 'P"2!"/"'])).join(";");
|
|
46
|
-
if (comp.opts.noIsArrayCheck)
|
|
47
|
-
return { code: paramsCode, type: "S" };
|
|
48
|
-
return { code: `if (!Array.isArray(${comp.vλl})${lengthCode}) ${comp.callJitErr(this)}; else {${paramsCode}}`, type: "S" };
|
|
49
|
-
}
|
|
50
|
-
emitPrepareForJson(comp) {
|
|
51
|
-
const children = this.getParamRunTypes(comp);
|
|
52
|
-
if (!children.length)
|
|
53
|
-
return { code: void 0, type: "S" };
|
|
54
|
-
const code = children.map(__assignType((p) => comp.compilePrepareForJson(p, "S").code, ["p", "", 'P"2!"/"'])).filter(Boolean).join(";");
|
|
55
|
-
return { code, type: "S" };
|
|
56
|
-
}
|
|
57
|
-
emitRestoreFromJson(comp) {
|
|
58
|
-
const children = this.getParamRunTypes(comp);
|
|
59
|
-
if (!children.length)
|
|
60
|
-
return { code: void 0, type: "S" };
|
|
61
|
-
const code = children.map(__assignType((p) => comp.compileRestoreFromJson(p, "S").code, ["p", "", 'P"2!"/"'])).filter(Boolean).join(";");
|
|
62
|
-
return { code, type: "S" };
|
|
63
|
-
}
|
|
64
|
-
static __type = ["TypeTuple", "ParamList", () => TupleMemberRunType, "ParamType", () => CollectionRunType, "getChildRunTypes", function() {
|
|
65
|
-
return __assignType(() => {
|
|
66
|
-
const childTypes = this.src.parameters || this.src.types || [];
|
|
67
|
-
return childTypes.map(__assignType((t) => t._rt, ["t", "", 'P"2!"/"']));
|
|
68
|
-
}, ["", "P!F/!"]);
|
|
69
|
-
}, "JitFnCompiler", "comp", "getParamRunTypes", "hasRestParameter", "totalRequiredParams", "JitCode", "emitIsType", "JitErrorsFnCompiler", "emitTypeErrors", "emitPrepareForJson", "emitRestoreFromJson", "TupleRunType", `"w!c"P7#c$Pe"!7%!3&>'P"w(2)e""F0*P"w(2))0+P"w(2)'0,P"w(2)"w-0.P"w/2)"w-00P"w(2)"w-01P"w(2)"w-025e!!6"w3`];
|
|
70
|
-
}
|
|
71
|
-
export {
|
|
72
|
-
TupleRunType
|
|
73
|
-
};
|
|
74
|
-
//# sourceMappingURL=tuple.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tuple.js","sources":["../../../../../src/nodes/collection/tuple.ts"],"sourcesContent":["/* ########\n * 2024 mion\n * Author: Ma-jerez\n * License: MIT\n * The software is provided \"as is\", without warranty of any kind.\n * ######## */\n\nimport type {TypeFunction, TypeTuple} from '@deepkit/type';\nimport type {JitFnCompiler, JitErrorsFnCompiler} from '../../lib/jitFnCompiler.ts';\nimport type {AnyParameterListRunType, SrcType, JitCode} from '../../types.ts';\nimport {ParameterRunType} from '../member/param.ts';\nimport {CollectionRunType} from '../../lib/baseRunTypes.ts';\nimport {TupleMemberRunType} from '../member/tupleMember.ts';\n\ntype AnyParamRunType = ParameterRunType | TupleMemberRunType;\n\nexport class TupleRunType<\n ParamList extends AnyParameterListRunType = TypeTuple,\n ParamType extends AnyParamRunType = TupleMemberRunType,\n> extends CollectionRunType<ParamList> {\n getChildRunTypes = (): ParamType[] => {\n const childTypes = ((this.src as TypeFunction).parameters || (this.src as TypeTuple).types || []) as SrcType[];\n return childTypes.map((t) => t._rt as ParamType);\n };\n getParamRunTypes(comp: JitFnCompiler): ParamType[] {\n const start = comp.opts?.paramsSlice?.start;\n const end = comp.opts?.paramsSlice?.end;\n const children = this.getChildRunTypes();\n if (!start && !end) return children;\n // Get all child run types first without using comp to avoid recursion\n return children.slice(start, end);\n }\n hasRestParameter(comp: JitFnCompiler): boolean {\n return (\n !!this.getParamRunTypes(comp).length && this.getParamRunTypes(comp)[this.getParamRunTypes(comp).length - 1].isRest()\n );\n }\n totalRequiredParams(comp: JitFnCompiler): number {\n return this.getParamRunTypes(comp).filter((p) => !p.isOptional() && !p.isRest()).length;\n }\n // ####### params #######\n\n emitIsType(comp: JitFnCompiler): JitCode {\n const children = this.getParamRunTypes(comp);\n if (children.length === 0 && comp.opts.noIsArrayCheck) return {code: undefined, type: 'E'};\n if (children.length === 0) return {code: `Array.isArray(${comp.vλl}) && ${comp.vλl}.length === 0`, type: 'E'};\n const lengthCode = this.hasRestParameter(comp) ? '' : `&& ${comp.vλl}.length <= ${this.getParamRunTypes(comp).length}`;\n const paramsCode = children.map((p) => `(${comp.compileIsType(p, 'E').code})`).join(' && ');\n const checkIsArrayCode = comp.opts.noIsArrayCheck ? '' : `Array.isArray(${comp.vλl})${lengthCode} && `;\n return {code: `(${checkIsArrayCode} ${paramsCode})`, type: 'E'};\n }\n emitTypeErrors(comp: JitErrorsFnCompiler): JitCode {\n const children = this.getParamRunTypes(comp);\n if (children.length === 0 && comp.opts.noIsArrayCheck) return {code: undefined, type: 'S'};\n if (children.length === 0)\n return {code: `if (!Array.isArray(${comp.vλl}) || && ${comp.vλl}.length === 0) ${comp.callJitErr(this)}`, type: 'S'};\n const lengthCode = this.hasRestParameter(comp) ? '' : `|| ${comp.vλl}.length > ${this.getParamRunTypes(comp).length}`;\n const paramsCode = children.map((p) => comp.compileTypeErrors(p, 'S').code).join(';');\n if (comp.opts.noIsArrayCheck) return {code: paramsCode, type: 'S'};\n return {code: `if (!Array.isArray(${comp.vλl})${lengthCode}) ${comp.callJitErr(this)}; else {${paramsCode}}`, type: 'S'};\n }\n emitPrepareForJson(comp: JitFnCompiler): JitCode {\n const children = this.getParamRunTypes(comp);\n if (!children.length) return {code: undefined, type: 'S'};\n const code = children\n .map((p) => comp.compilePrepareForJson(p, 'S').code)\n .filter(Boolean)\n .join(';');\n return {code: code, type: 'S'};\n }\n emitRestoreFromJson(comp: JitFnCompiler): JitCode {\n const children = this.getParamRunTypes(comp);\n if (!children.length) return {code: undefined, type: 'S'};\n const code = children\n .map((p) => comp.compileRestoreFromJson(p, 'S').code)\n .filter(Boolean)\n .join(';');\n return {code: code, type: 'S'};\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { TypeUnion } from '@deepkit/type';
|
|
2
|
-
import { JitFnCompiler, JitErrorsFnCompiler } from '../../lib/jitFnCompiler.ts';
|
|
3
|
-
import { JitCode } from '../../types.ts';
|
|
4
|
-
import { BaseRunType, CollectionRunType } from '../../lib/baseRunTypes.ts';
|
|
5
|
-
import { SplitUnionResult } from './unionDiscriminator.ts';
|
|
6
|
-
export declare class UnionRunType extends CollectionRunType<TypeUnion> {
|
|
7
|
-
hasDiscriminators: boolean | undefined;
|
|
8
|
-
hasObjectTypes: boolean | undefined;
|
|
9
|
-
isTypeWithProperties(rt: BaseRunType): boolean;
|
|
10
|
-
getUnionChildren(comp: JitFnCompiler): SplitUnionResult;
|
|
11
|
-
getUnionItemIndex(comp: JitFnCompiler, unionItem: BaseRunType): number;
|
|
12
|
-
getChildIsTypeWithLooseCheck(rt: BaseRunType, comp: JitFnCompiler): string;
|
|
13
|
-
emitIsType(comp: JitFnCompiler): JitCode;
|
|
14
|
-
emitTypeErrors(comp: JitErrorsFnCompiler): JitCode;
|
|
15
|
-
emitPrepareForJson(comp: JitFnCompiler): JitCode;
|
|
16
|
-
emitRestoreFromJson(comp: JitFnCompiler): JitCode;
|
|
17
|
-
getUnionTypeNames(): string;
|
|
18
|
-
checkAllowedChildren(comp: JitFnCompiler): void;
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=union.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"union.d.ts","sourceRoot":"","sources":["../../../../../src/nodes/collection/union.ts"],"names":[],"mappings":"AAOA,OAAO,EAAiB,KAAK,SAAS,EAAC,MAAM,eAAe,CAAC;AAC7D,OAAO,KAAK,EAAC,aAAa,EAAE,mBAAmB,EAAC,MAAM,4BAA4B,CAAC;AACnF,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAC,WAAW,EAAE,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AAGzE,OAAO,EAAsC,gBAAgB,EAAC,MAAM,yBAAyB,CAAC;AAU9F,qBAAa,YAAa,SAAQ,iBAAiB,CAAC,SAAS,CAAC;IAC1D,iBAAiB,EAAE,OAAO,GAAG,SAAS,CAAa;IACnD,cAAc,EAAE,OAAO,GAAG,SAAS,CAAa;IAEhD,oBAAoB,CAAC,EAAE,EAAE,WAAW;IAOpC,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,gBAAgB;IAMvD,iBAAiB,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,GAAG,MAAM;IAetE,4BAA4B,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,GAAG,MAAM;IA6B1E,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAgBxC,cAAc,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO;IAalD,kBAAkB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IA+ChD,mBAAmB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAgCjD,iBAAiB,IAAI,MAAM;IAM3B,oBAAoB,CAAC,IAAI,EAAE,aAAa;CAM3C"}
|
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
import { ReflectionKind } from "@deepkit/type";
|
|
2
|
-
import { CollectionRunType, BaseRunType } from "../../lib/baseRunTypes.js";
|
|
3
|
-
import { createIfElseFn, toLiteral, childIsExpression } from "../../lib/utils.js";
|
|
4
|
-
import { isInterfaceRunType, isClassRunType, isObjectLiteralRunType, isIntersectionRunType } from "../../lib/guards.js";
|
|
5
|
-
import { markDiscriminators, splitUnionItems, __ΩSplitUnionResult as ___SplitUnionResult } from "./unionDiscriminator.js";
|
|
6
|
-
function __assignType(fn, args) {
|
|
7
|
-
fn.__type = args;
|
|
8
|
-
return fn;
|
|
9
|
-
}
|
|
10
|
-
class UnionRunType extends CollectionRunType {
|
|
11
|
-
hasDiscriminators = void 0;
|
|
12
|
-
hasObjectTypes = void 0;
|
|
13
|
-
isTypeWithProperties(rt) {
|
|
14
|
-
return rt.getFamily() === "C" && (isInterfaceRunType(rt) || isClassRunType(rt) || isObjectLiteralRunType(rt) || isIntersectionRunType(rt));
|
|
15
|
-
}
|
|
16
|
-
getUnionChildren(comp) {
|
|
17
|
-
const children = this.getJitChildren(comp);
|
|
18
|
-
markDiscriminators(comp, this, children);
|
|
19
|
-
return splitUnionItems(comp, this, children);
|
|
20
|
-
}
|
|
21
|
-
getUnionItemIndex(comp, unionItem) {
|
|
22
|
-
const children = this.getJitChildren(comp);
|
|
23
|
-
const index = children.findIndex(__assignType((child) => child === unionItem, ["child", "", 'P"2!"/"']));
|
|
24
|
-
if (index === -1)
|
|
25
|
-
throw new Error(`Item ${unionItem.getTypeName()} not found in union ${this.getTypeName()}`);
|
|
26
|
-
return index;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Returns isType check for a union child with loose matching.
|
|
30
|
-
* Uses first-match strategy: returns first matching type in declaration order.
|
|
31
|
-
* For all-optional types (weak types), ensures at least one property matches or is empty object.
|
|
32
|
-
* Note: Use ESLint rules @mionjs/no-unreachable-union-types and @mionjs/no-mixed-union-properties
|
|
33
|
-
* to detect overlapping union types at compile time.
|
|
34
|
-
* @see union.spec.ts 'Union Obj' and 'Union Mixed' test suites for examples.
|
|
35
|
-
*/
|
|
36
|
-
getChildIsTypeWithLooseCheck(rt, comp) {
|
|
37
|
-
const isTypeCode = comp.compileIsType(rt, "E").code || "";
|
|
38
|
-
const isTypeWithProperties = isInterfaceRunType(rt) || isClassRunType(rt) || isObjectLiteralRunType(rt) || isIntersectionRunType(rt);
|
|
39
|
-
if (!isTypeWithProperties || rt.getFamily() !== "C")
|
|
40
|
-
return isTypeCode;
|
|
41
|
-
const props = rt.getJitChildren(comp);
|
|
42
|
-
const hasIndexProperty = props.some(__assignType((prop) => prop.src.kind === ReflectionKind.indexSignature, ["prop", "", 'P"2!"/"']));
|
|
43
|
-
if (hasIndexProperty)
|
|
44
|
-
return isTypeCode;
|
|
45
|
-
const isAllOptional = rt.areAllChildrenOptional(props);
|
|
46
|
-
if (isAllOptional && props.length > 0) {
|
|
47
|
-
const hasOwnPropCheck = props.map(__assignType((p) => {
|
|
48
|
-
const name = p.getPropertyName();
|
|
49
|
-
return `(${toLiteral(name)} in ${comp.vλl})`;
|
|
50
|
-
}, ["p", "", 'P"2!"/"']));
|
|
51
|
-
hasOwnPropCheck.push(`Object.keys(${comp.vλl}).length === 0`);
|
|
52
|
-
const weakTypeCheck = `(${hasOwnPropCheck.join(" || ")})`;
|
|
53
|
-
return `(${isTypeCode} && ${weakTypeCheck})`;
|
|
54
|
-
}
|
|
55
|
-
return isTypeCode;
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Loose union matching: returns first matching type in declaration order.
|
|
59
|
-
* Objects with properties from multiple union types will match the first compatible type.
|
|
60
|
-
* Use ESLint rules to detect overlapping types at compile time.
|
|
61
|
-
*/
|
|
62
|
-
emitIsType(comp) {
|
|
63
|
-
this.checkAllowedChildren(comp);
|
|
64
|
-
const { simpleItems, objectTypes, anyItem } = this.getUnionChildren(comp);
|
|
65
|
-
const simpleChecks = simpleItems.map(__assignType((rt) => this.getChildIsTypeWithLooseCheck(rt, comp), ["rt", "", 'P"2!"/"'])).filter(Boolean);
|
|
66
|
-
const objChecks = objectTypes.map(__assignType((rt) => this.getChildIsTypeWithLooseCheck(rt, comp), ["rt", "", 'P"2!"/"'])).filter(Boolean);
|
|
67
|
-
const objCode = objChecks.length ? `(typeof ${comp.vλl} === 'object' && ${comp.vλl} !== null && (${objChecks.join(" || ")}))` : "";
|
|
68
|
-
const anyCheck = anyItem ? this.getChildIsTypeWithLooseCheck(anyItem, comp) : "";
|
|
69
|
-
const allChecks = [...simpleChecks, objCode, anyCheck].filter(Boolean);
|
|
70
|
-
return { code: `(${allChecks.join(" || ")})`, type: "E" };
|
|
71
|
-
}
|
|
72
|
-
emitTypeErrors(comp) {
|
|
73
|
-
this.checkAllowedChildren(comp);
|
|
74
|
-
const isType = comp.compileIsType(this, "E").code;
|
|
75
|
-
const code = `if (!${isType}) ${comp.callJitErr(this)};`;
|
|
76
|
-
return { code, type: "S" };
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* When a union is encodes to json is encode into and array with two elements: [unionDiscriminator, encoded Value]
|
|
80
|
-
* the first element is the index of the type in the union.
|
|
81
|
-
* the second element is the encoded value of the type.
|
|
82
|
-
* ie: type union = string | number | bigint; var v1: union = 123n; v1 is encoded as [2, "123n"]
|
|
83
|
-
*/
|
|
84
|
-
emitPrepareForJson(comp) {
|
|
85
|
-
this.checkAllowedChildren(comp);
|
|
86
|
-
const { simpleItems, objectTypes, anyItem } = this.getUnionChildren(comp);
|
|
87
|
-
const errName = comp.getLocalVarName("uErr", this);
|
|
88
|
-
const fail = `throw new Error(${errName});`;
|
|
89
|
-
comp.setContextItem(errName, `const ${errName} = "Can not json encode union: item does not belong to the union"`);
|
|
90
|
-
const ifElse = createIfElseFn();
|
|
91
|
-
const getEncodeCode = __assignType((childRt) => {
|
|
92
|
-
const toJit = comp.compilePrepareForJson(childRt, "S");
|
|
93
|
-
const fromJit = comp.compileRestoreFromJson(childRt, "S");
|
|
94
|
-
const needsTupleEncoding = !!toJit.code || !!fromJit.code;
|
|
95
|
-
const isExpression = childIsExpression(toJit, childRt);
|
|
96
|
-
const encodeCode = isExpression && toJit.code ? `${comp.vλl} = ${toJit.code};` : toJit.code || "";
|
|
97
|
-
const index = this.getUnionItemIndex(comp, childRt);
|
|
98
|
-
const tupleEncode = needsTupleEncoding ? `${comp.vλl} = [${index}, ${comp.vλl}]` : "/*noop*/";
|
|
99
|
-
return `${encodeCode} ${tupleEncode}`;
|
|
100
|
-
}, [() => BaseRunType, "childRt", "", 'PP7!2""/#']);
|
|
101
|
-
const simpleCode = simpleItems.map(__assignType((rt) => {
|
|
102
|
-
const isTypeCode = this.getChildIsTypeWithLooseCheck(rt, comp);
|
|
103
|
-
return `${ifElse()} (${isTypeCode}) {${getEncodeCode(rt)}}`;
|
|
104
|
-
}, ["rt", "", 'P"2!"/"']));
|
|
105
|
-
const objCode = objectTypes.length ? objectTypes.map(__assignType((rt) => {
|
|
106
|
-
const isTypeCode = this.getChildIsTypeWithLooseCheck(rt, comp);
|
|
107
|
-
return `${ifElse()} (typeof ${comp.vλl} === 'object' && ${comp.vλl} !== null && ${isTypeCode}) {${getEncodeCode(rt)}}`;
|
|
108
|
-
}, ["rt", "", 'P"2!"/"'])) : [];
|
|
109
|
-
const anyCode = anyItem ? `${ifElse(true)} {${getEncodeCode(anyItem)}}` : `${ifElse(true)} {${fail}}`;
|
|
110
|
-
return { code: [...simpleCode, ...objCode, anyCode].join(""), type: "S" };
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* When a union is decoded from json it expects de two elements array format: [unionDiscriminator, Value to decode]
|
|
114
|
-
* the first element is the index of the type in the union.
|
|
115
|
-
* the second element is the encoded value of the type.
|
|
116
|
-
* ie: type union = string | number | bigint; var v1: union = 123n; v1 is encoded as [2, "123n"]
|
|
117
|
-
*/
|
|
118
|
-
emitRestoreFromJson(comp) {
|
|
119
|
-
this.checkAllowedChildren(comp);
|
|
120
|
-
const decVar = comp.getLocalVarName("dec", this);
|
|
121
|
-
const errVarName = comp.getLocalVarName("uErr", this);
|
|
122
|
-
comp.setContextItem(errVarName, `const ${errVarName} = "Can not json decode union: invalid union index"`);
|
|
123
|
-
const children = this.getJitChildren(comp);
|
|
124
|
-
const ifElse = createIfElseFn();
|
|
125
|
-
const itemsCode = children.map(__assignType((unionItem) => {
|
|
126
|
-
const childJit = comp.compileRestoreFromJson(unionItem, "S");
|
|
127
|
-
const isExpression = childIsExpression(childJit, unionItem);
|
|
128
|
-
const code2 = isExpression && childJit.code && childJit.code !== comp.vλl ? `${comp.vλl} = ${childJit.code}` : childJit.code || "";
|
|
129
|
-
const index = this.getUnionItemIndex(comp, unionItem);
|
|
130
|
-
return `${ifElse()} (${decVar} === ${index}) {${code2 || "/*noop*/"}}`;
|
|
131
|
-
}, ["unionItem", "", 'P"2!"/"'])).filter(Boolean);
|
|
132
|
-
const childrenCode = itemsCode.join("");
|
|
133
|
-
const failCode = childrenCode ? `else {throw new Error(${errVarName})}` : "";
|
|
134
|
-
const code = `
|
|
135
|
-
if (${comp.vλl}?.length === 2 && Array.isArray(${comp.vλl}) && typeof ${comp.vλl}[0] === 'number') {
|
|
136
|
-
const ${decVar} = ${comp.vλl}[0]; ${comp.vλl} = ${comp.vλl}[1];
|
|
137
|
-
${childrenCode}
|
|
138
|
-
${failCode}
|
|
139
|
-
}
|
|
140
|
-
`;
|
|
141
|
-
return { code, type: "S" };
|
|
142
|
-
}
|
|
143
|
-
getUnionTypeNames() {
|
|
144
|
-
return this.getChildRunTypes().map(__assignType((rt) => rt.getTypeName(), ["rt", "", 'P"2!"/"'])).join(" | ");
|
|
145
|
-
}
|
|
146
|
-
checkAllowedChildren(comp) {
|
|
147
|
-
const allChildren = this.getChildRunTypes();
|
|
148
|
-
const toSkip = allChildren.filter(__assignType((rt) => rt.skipJit(comp), ["rt", "", 'P"2!"/"']));
|
|
149
|
-
if (toSkip.length)
|
|
150
|
-
throw new Error(`Union can not have non serializable types, ie: Symbol, Function, etc.
|
|
151
|
-
Type: ${this.stringify()}`);
|
|
152
|
-
}
|
|
153
|
-
static __type = ["TypeUnion", () => CollectionRunType, "hasDiscriminators", function() {
|
|
154
|
-
return void 0;
|
|
155
|
-
}, "hasObjectTypes", function() {
|
|
156
|
-
return void 0;
|
|
157
|
-
}, () => BaseRunType, "rt", "isTypeWithProperties", "JitFnCompiler", "comp", () => ___SplitUnionResult, "getUnionChildren", () => BaseRunType, "unionItem", "getUnionItemIndex", () => BaseRunType, "getChildIsTypeWithLooseCheck", "JitCode", "emitIsType", "JitErrorsFnCompiler", "emitTypeErrors", "emitPrepareForJson", "emitRestoreFromJson", "getUnionTypeNames", "checkAllowedChildren", "UnionRunType", `P"w!7"P)-J3#>$P)-J3%>&PP7'2("0)P"w*2+n,0-P"w*2+P7.2/'00PP712("w*2+&02P"w*2+"w304P"w52+"w306P"w*2+"w307P"w*2+"w308P&09P"w*2+"0:5"w!6"w;`];
|
|
158
|
-
}
|
|
159
|
-
export {
|
|
160
|
-
UnionRunType
|
|
161
|
-
};
|
|
162
|
-
//# sourceMappingURL=union.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"union.js","sources":["../../../../../src/nodes/collection/union.ts"],"sourcesContent":["/* ########\n * 2024 mion\n * Author: Ma-jerez\n * License: MIT\n * The software is provided \"as is\", without warranty of any kind.\n * ######## */\n\nimport {ReflectionKind, type TypeUnion} from '@deepkit/type';\nimport type {JitFnCompiler, JitErrorsFnCompiler} from '../../lib/jitFnCompiler.ts';\nimport type {JitCode} from '../../types.ts';\nimport {BaseRunType, CollectionRunType} from '../../lib/baseRunTypes.ts';\nimport {childIsExpression, createIfElseFn, toLiteral} from '../../lib/utils.ts';\nimport {isClassRunType, isInterfaceRunType, isIntersectionRunType, isObjectLiteralRunType} from '../../lib/guards.ts';\nimport {markDiscriminators, splitUnionItems, SplitUnionResult} from './unionDiscriminator.ts';\nimport type {PropertyRunType} from '../member/property.ts';\n\n/**\n * Unions get encoded into an array where arr[0] is the discriminator and arr[1] is the value.\n * this is because some times we can't distinguish the type of an union.\n * ie: bigint gets encoded into an string, so if we have an union 'type U = string | bigint' we can't distinguish between the when encoding/decoding the json.\n * to solve this issue the index of the type is used as a discriminator.\n * So [0, \"123n\"] is interpreted as a string and [1, \"123n\"] is interpreted as a bigint.\n * */\nexport class UnionRunType extends CollectionRunType<TypeUnion> {\n hasDiscriminators: boolean | undefined = undefined;\n hasObjectTypes: boolean | undefined = undefined;\n\n isTypeWithProperties(rt: BaseRunType) {\n return (\n rt.getFamily() === 'C' &&\n (isInterfaceRunType(rt) || isClassRunType(rt) || isObjectLiteralRunType(rt) || isIntersectionRunType(rt))\n );\n }\n\n getUnionChildren(comp: JitFnCompiler): SplitUnionResult {\n const children = this.getJitChildren(comp);\n markDiscriminators(comp, this, children);\n return splitUnionItems(comp, this, children);\n }\n\n getUnionItemIndex(comp: JitFnCompiler, unionItem: BaseRunType): number {\n const children = this.getJitChildren(comp);\n const index = children.findIndex((child) => child === unionItem);\n if (index === -1) throw new Error(`Item ${unionItem.getTypeName()} not found in union ${this.getTypeName()}`);\n return index;\n }\n\n /**\n * Returns isType check for a union child with loose matching.\n * Uses first-match strategy: returns first matching type in declaration order.\n * For all-optional types (weak types), ensures at least one property matches or is empty object.\n * Note: Use ESLint rules @mionjs/no-unreachable-union-types and @mionjs/no-mixed-union-properties\n * to detect overlapping union types at compile time.\n * @see union.spec.ts 'Union Obj' and 'Union Mixed' test suites for examples.\n */\n getChildIsTypeWithLooseCheck(rt: BaseRunType, comp: JitFnCompiler): string {\n const isTypeCode = comp.compileIsType(rt, 'E').code || '';\n const isTypeWithProperties =\n isInterfaceRunType(rt) || isClassRunType(rt) || isObjectLiteralRunType(rt) || isIntersectionRunType(rt);\n if (!isTypeWithProperties || rt.getFamily() !== 'C') return isTypeCode;\n const props = rt.getJitChildren(comp);\n const hasIndexProperty = props.some((prop) => prop.src.kind === ReflectionKind.indexSignature);\n if (hasIndexProperty) return isTypeCode;\n const isAllOptional = rt.areAllChildrenOptional(props);\n // For all-optional types (weak types), TypeScript requires at least one matching property\n // or an empty object. This prevents {c: 'hello'} from matching {a?: string; b?: string}\n if (isAllOptional && props.length > 0) {\n // Must have at least one of this type's own props OR be empty\n const hasOwnPropCheck = props.map((p) => {\n const name = (p as PropertyRunType).getPropertyName();\n return `(${toLiteral(name)} in ${comp.vλl})`;\n });\n hasOwnPropCheck.push(`Object.keys(${comp.vλl}).length === 0`);\n const weakTypeCheck = `(${hasOwnPropCheck.join(' || ')})`;\n return `(${isTypeCode} && ${weakTypeCheck})`;\n }\n return isTypeCode;\n }\n\n /**\n * Loose union matching: returns first matching type in declaration order.\n * Objects with properties from multiple union types will match the first compatible type.\n * Use ESLint rules to detect overlapping types at compile time.\n */\n emitIsType(comp: JitFnCompiler): JitCode {\n this.checkAllowedChildren(comp);\n const {simpleItems, objectTypes, anyItem} = this.getUnionChildren(comp);\n // Simple items (atomic types) don't need null guard\n const simpleChecks = simpleItems.map((rt) => this.getChildIsTypeWithLooseCheck(rt, comp)).filter(Boolean);\n // Object types need null guard to prevent accessing properties on null\n const objChecks = objectTypes.map((rt) => this.getChildIsTypeWithLooseCheck(rt, comp)).filter(Boolean);\n const objCode = objChecks.length\n ? `(typeof ${comp.vλl} === 'object' && ${comp.vλl} !== null && (${objChecks.join(' || ')}))`\n : '';\n // any/unknown checked last as fallback\n const anyCheck = anyItem ? this.getChildIsTypeWithLooseCheck(anyItem, comp) : '';\n const allChecks = [...simpleChecks, objCode, anyCheck].filter(Boolean);\n return {code: `(${allChecks.join(' || ')})`, type: 'E'};\n }\n\n emitTypeErrors(comp: JitErrorsFnCompiler): JitCode {\n this.checkAllowedChildren(comp);\n const isType = comp.compileIsType(this, 'E').code;\n const code = `if (!${isType}) ${comp.callJitErr(this)};`;\n return {code, type: 'S'};\n }\n\n /**\n * When a union is encodes to json is encode into and array with two elements: [unionDiscriminator, encoded Value]\n * the first element is the index of the type in the union.\n * the second element is the encoded value of the type.\n * ie: type union = string | number | bigint; var v1: union = 123n; v1 is encoded as [2, \"123n\"]\n */\n emitPrepareForJson(comp: JitFnCompiler): JitCode {\n this.checkAllowedChildren(comp);\n const {simpleItems, objectTypes, anyItem} = this.getUnionChildren(comp);\n const errName = comp.getLocalVarName('uErr', this);\n const fail = `throw new Error(${errName});`;\n comp.setContextItem(errName, `const ${errName} = \"Can not json encode union: item does not belong to the union\"`);\n\n const ifElse = createIfElseFn();\n\n // Helper to generate encode code for a union item\n const getEncodeCode = (childRt: BaseRunType) => {\n const toJit = comp.compilePrepareForJson(childRt, 'S');\n const fromJit = comp.compileRestoreFromJson(childRt, 'S');\n const needsTupleEncoding = !!toJit.code || !!fromJit.code;\n const isExpression = childIsExpression(toJit, childRt);\n const encodeCode = isExpression && toJit.code ? `${comp.vλl} = ${toJit.code};` : toJit.code || '';\n const index = this.getUnionItemIndex(comp, childRt);\n const tupleEncode = needsTupleEncoding ? `${comp.vλl} = [${index}, ${comp.vλl}]` : '/*noop*/';\n return `${encodeCode} ${tupleEncode}`;\n };\n\n // Generate code for simple items (atomic types)\n const simpleCode = simpleItems.map((rt) => {\n const isTypeCode = this.getChildIsTypeWithLooseCheck(rt, comp);\n return `${ifElse()} (${isTypeCode}) {${getEncodeCode(rt)}}`;\n });\n\n // Generate code for object types (need null guard)\n const objCode = objectTypes.length\n ? objectTypes.map((rt) => {\n const isTypeCode = this.getChildIsTypeWithLooseCheck(rt, comp);\n return `${ifElse()} (typeof ${comp.vλl} === 'object' && ${comp.vλl} !== null && ${isTypeCode}) {${getEncodeCode(rt)}}`;\n })\n : [];\n\n // Generate code for anyItem (always matches, checked last as fallback)\n const anyCode = anyItem ? `${ifElse(true)} {${getEncodeCode(anyItem)}}` : `${ifElse(true)} {${fail}}`;\n\n return {code: [...simpleCode, ...objCode, anyCode].join(''), type: 'S'};\n }\n\n /**\n * When a union is decoded from json it expects de two elements array format: [unionDiscriminator, Value to decode]\n * the first element is the index of the type in the union.\n * the second element is the encoded value of the type.\n * ie: type union = string | number | bigint; var v1: union = 123n; v1 is encoded as [2, \"123n\"]\n */\n emitRestoreFromJson(comp: JitFnCompiler): JitCode {\n this.checkAllowedChildren(comp);\n const decVar = comp.getLocalVarName('dec', this);\n const errVarName = comp.getLocalVarName('uErr', this);\n comp.setContextItem(errVarName, `const ${errVarName} = \"Can not json decode union: invalid union index\"`);\n const children = this.getJitChildren(comp);\n const ifElse = createIfElseFn();\n const itemsCode = children\n .map((unionItem) => {\n const childJit = comp.compileRestoreFromJson(unionItem, 'S');\n const isExpression = childIsExpression(childJit, unionItem);\n const code =\n isExpression && childJit.code && childJit.code !== comp.vλl\n ? `${comp.vλl} = ${childJit.code}`\n : childJit.code || '';\n // item is decoded before being extracted from the array\n const index = this.getUnionItemIndex(comp, unionItem);\n return `${ifElse()} (${decVar} === ${index}) {${code || '/*noop*/'}}`;\n })\n .filter(Boolean);\n const childrenCode = itemsCode.join('');\n const failCode = childrenCode ? `else {throw new Error(${errVarName})}` : '';\n const code = `\n if (${comp.vλl}?.length === 2 && Array.isArray(${comp.vλl}) && typeof ${comp.vλl}[0] === 'number') {\n const ${decVar} = ${comp.vλl}[0]; ${comp.vλl} = ${comp.vλl}[1];\n ${childrenCode}\n ${failCode}\n }\n `;\n return {code, type: 'S'};\n }\n\n getUnionTypeNames(): string {\n return this.getChildRunTypes()\n .map((rt) => rt.getTypeName())\n .join(' | ');\n }\n\n checkAllowedChildren(comp: JitFnCompiler) {\n const allChildren = this.getChildRunTypes();\n const toSkip = allChildren.filter((rt) => rt.skipJit(comp));\n if (toSkip.length)\n throw new Error(`Union can not have non serializable types, ie: Symbol, Function, etc. \\nType: ${this.stringify()}`);\n }\n}\n"],"names":["code","__ΩSplitUnionResult"],"mappings":"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"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { BaseRunType, CollectionRunType } from '../../lib/baseRunTypes.ts';
|
|
2
|
-
import { JitFnCompiler } from '../../lib/jitFnCompiler.ts';
|
|
3
|
-
import { UnionRunType } from './union.ts';
|
|
4
|
-
import { PropertyRunType } from '../member/property.ts';
|
|
5
|
-
export type FlattenedProp = {
|
|
6
|
-
unionItem: CollectionRunType<any>;
|
|
7
|
-
unionIndex: string | number;
|
|
8
|
-
prop: PropertyRunType;
|
|
9
|
-
typeID: string | number;
|
|
10
|
-
compiledName: string;
|
|
11
|
-
};
|
|
12
|
-
export type SplitUnionResult = {
|
|
13
|
-
simpleItems: BaseRunType[];
|
|
14
|
-
objectTypes: CollectionRunType<any>[];
|
|
15
|
-
anyItem?: BaseRunType;
|
|
16
|
-
};
|
|
17
|
-
export declare function splitUnionItems(comp: JitFnCompiler, urt: UnionRunType, unionChildren?: BaseRunType[]): SplitUnionResult;
|
|
18
|
-
export declare function sortUnreachableTypes(comp: JitFnCompiler, objectTypes: CollectionRunType<any>[]): CollectionRunType<any>[];
|
|
19
|
-
export declare function markDiscriminators(comp: JitFnCompiler, urt: UnionRunType, unionItems: BaseRunType[]): void;
|
|
20
|
-
export declare type __ΩFlattenedProp = any[];
|
|
21
|
-
export declare type __ΩSplitUnionResult = any[];
|
|
22
|
-
//# sourceMappingURL=unionDiscriminator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"unionDiscriminator.d.ts","sourceRoot":"","sources":["../../../../../src/nodes/collection/unionDiscriminator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,WAAW,EAAE,iBAAiB,EAAgB,MAAM,2BAA2B,CAAC;AAC7F,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,uBAAuB,CAAC;AAI3D,MAAM,MAAM,aAAa,GAAG;IAExB,SAAS,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAElC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IAE5B,IAAI,EAAE,eAAe,CAAC;IAEtB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAExB,YAAY,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,WAAW,EAAE,WAAW,EAAE,CAAC;IAC3B,WAAW,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAEtC,OAAO,CAAC,EAAE,WAAW,CAAC;CACzB,CAAC;AAQF,wBAAgB,eAAe,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,WAAW,EAAE,GAAG,gBAAgB,CAsBvH;AAQD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,GAAG,iBAAiB,CAAC,GAAG,CAAC,EAAE,CA4DzH;AAOD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,QAOnG"}
|
|
@@ -1,198 +0,0 @@
|
|
|
1
|
-
import { getTotalComplexity, sortRunTypeByComplexity } from "../../lib/utils.js";
|
|
2
|
-
import { isAnyRunType, isUnknownRunType } from "../../lib/guards.js";
|
|
3
|
-
function __assignType(fn, args) {
|
|
4
|
-
fn.__type = args;
|
|
5
|
-
return fn;
|
|
6
|
-
}
|
|
7
|
-
const __ΩFlattenedProp = ["CollectionRunType", "unionItem", "unionIndex", "PropertyRunType", "prop", "typeID", "compiledName", "FlattenedProp", `P"w!4"P&'J4#"w$4%P&'J4&&4'Mw(y`];
|
|
8
|
-
const __ΩSplitUnionResult = ["BaseRunType", "simpleItems", "CollectionRunType", "objectTypes", "anyItem", "SplitUnionResult", 'P"w!F4""w#F4$"w!4%8Mw&y'];
|
|
9
|
-
function splitUnionItems(comp, urt, unionChildren) {
|
|
10
|
-
const unionItems = unionChildren || urt.getJitChildren(comp);
|
|
11
|
-
const objectTypes = [];
|
|
12
|
-
const simpleItems = [];
|
|
13
|
-
let anyItem;
|
|
14
|
-
unionItems.forEach(__assignType((unionItem) => {
|
|
15
|
-
if (isAnyRunType(unionItem) || isUnknownRunType(unionItem)) {
|
|
16
|
-
if (!anyItem)
|
|
17
|
-
anyItem = unionItem;
|
|
18
|
-
return;
|
|
19
|
-
}
|
|
20
|
-
const isObj = urt.isTypeWithProperties(unionItem);
|
|
21
|
-
if (!isObj)
|
|
22
|
-
return simpleItems.push(unionItem);
|
|
23
|
-
return objectTypes.push(unionItem);
|
|
24
|
-
}, ["unionItem", "", 'P"2!"/"']));
|
|
25
|
-
const sortedObjectTypes = sortUnreachableTypes(comp, objectTypes);
|
|
26
|
-
return { simpleItems, objectTypes: sortedObjectTypes, anyItem };
|
|
27
|
-
}
|
|
28
|
-
splitUnionItems.__type = ["JitFnCompiler", "comp", "UnionRunType", "urt", "BaseRunType", "unionChildren", () => __ΩSplitUnionResult, "splitUnionItems", `P"w!2""w#2$"w%F2&8n'/(`];
|
|
29
|
-
function sortUnreachableTypes(comp, objectTypes) {
|
|
30
|
-
if (objectTypes.length <= 1)
|
|
31
|
-
return objectTypes;
|
|
32
|
-
const typePropsMap = (Map.Ω = [["CollectionRunType", '"w!'], ["P&'JD"]], /* @__PURE__ */ new Map());
|
|
33
|
-
objectTypes.forEach(__assignType((objType) => {
|
|
34
|
-
const props = objType.getJitChildren(comp);
|
|
35
|
-
const propTypeIDs = (Set.Ω = [["P&'J"]], /* @__PURE__ */ new Set());
|
|
36
|
-
props.forEach(__assignType((prop) => propTypeIDs.add(prop.getTypeID()), ["prop", "", 'P"2!"/"']));
|
|
37
|
-
typePropsMap.set(objType, propTypeIDs);
|
|
38
|
-
}, ["objType", "", 'P"2!"/"']));
|
|
39
|
-
const isSubsetOf = __assignType((smaller, larger) => {
|
|
40
|
-
const smallerProps = typePropsMap.get(smaller);
|
|
41
|
-
const largerProps = typePropsMap.get(larger);
|
|
42
|
-
if (smallerProps.size >= largerProps.size)
|
|
43
|
-
return false;
|
|
44
|
-
for (const typeID of smallerProps) {
|
|
45
|
-
if (!largerProps.has(typeID))
|
|
46
|
-
return false;
|
|
47
|
-
}
|
|
48
|
-
return true;
|
|
49
|
-
}, ["CollectionRunType", "smaller", "larger", "", 'P"w!2""w!2#)/$']);
|
|
50
|
-
const processed = (Set.Ω = [["CollectionRunType", '"w!']], /* @__PURE__ */ new Set());
|
|
51
|
-
const result = [];
|
|
52
|
-
for (let i = 0; i < objectTypes.length; i++) {
|
|
53
|
-
const current = objectTypes[i];
|
|
54
|
-
if (processed.has(current))
|
|
55
|
-
continue;
|
|
56
|
-
const relatedGroup = [current];
|
|
57
|
-
processed.add(current);
|
|
58
|
-
for (let j = 0; j < objectTypes.length; j++) {
|
|
59
|
-
if (i === j)
|
|
60
|
-
continue;
|
|
61
|
-
const other = objectTypes[j];
|
|
62
|
-
if (processed.has(other))
|
|
63
|
-
continue;
|
|
64
|
-
if (isSubsetOf(current, other) || isSubsetOf(other, current)) {
|
|
65
|
-
relatedGroup.push(other);
|
|
66
|
-
processed.add(other);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
if (relatedGroup.length > 1) {
|
|
70
|
-
relatedGroup.sort(__assignType((a, b) => {
|
|
71
|
-
const aSize = typePropsMap.get(a).size;
|
|
72
|
-
const bSize = typePropsMap.get(b).size;
|
|
73
|
-
return bSize - aSize;
|
|
74
|
-
}, ["a", "b", "", 'P"2!"2""/#']));
|
|
75
|
-
}
|
|
76
|
-
result.push(...relatedGroup);
|
|
77
|
-
}
|
|
78
|
-
return result;
|
|
79
|
-
}
|
|
80
|
-
sortUnreachableTypes.__type = ["JitFnCompiler", "comp", "CollectionRunType", "objectTypes", "sortUnreachableTypes", 'P"w!2""w#F2$"w#F/%'];
|
|
81
|
-
function markDiscriminators(comp, urt, unionItems) {
|
|
82
|
-
if (urt.hasDiscriminators !== void 0 && urt.hasObjectTypes !== void 0)
|
|
83
|
-
return;
|
|
84
|
-
const objectTypes = unionItems.filter(__assignType((item) => urt.isTypeWithProperties(item), ["item", "", 'P"2!"/"']));
|
|
85
|
-
const namedDiscriminators = getDiscriminatorProperties(comp, urt, objectTypes, initGetCompiledName());
|
|
86
|
-
const uniqueDiscriminators = getUniqueDiscriminatorProperties(comp, urt, objectTypes, initGetCompiledName());
|
|
87
|
-
urt.hasObjectTypes = !!objectTypes.length;
|
|
88
|
-
urt.hasDiscriminators = !!namedDiscriminators.length || !!uniqueDiscriminators.length;
|
|
89
|
-
}
|
|
90
|
-
markDiscriminators.__type = ["JitFnCompiler", "comp", "UnionRunType", "urt", "BaseRunType", "unionItems", "markDiscriminators", `P"w!2""w#2$"w%F2&"/'`];
|
|
91
|
-
const __ΩPropUnionItemPair = ["PropertyRunType", "prop", "CollectionRunType", "unionItem", "PropUnionItemPair", 'P"w!4""w#4$Mw%y'];
|
|
92
|
-
function getDiscriminatorProperties(comp, urt, unionTypes, getCompiledName) {
|
|
93
|
-
if (!unionTypes.length)
|
|
94
|
-
return [];
|
|
95
|
-
const propByName = (Map.Ω = [["P&'J"], [() => __ΩPropUnionItemPair, "n!F"]], /* @__PURE__ */ new Map());
|
|
96
|
-
unionTypes.forEach(__assignType((unionItem) => {
|
|
97
|
-
const props = unionItem.getJitChildren(comp);
|
|
98
|
-
props.forEach(__assignType((prop) => {
|
|
99
|
-
const name = prop.getChildVarName(comp);
|
|
100
|
-
const existing = propByName.get(name) || [];
|
|
101
|
-
propByName.set(name, [...existing, { prop, unionItem }]);
|
|
102
|
-
}, ["prop", "", 'P"2!"/"']));
|
|
103
|
-
}, ["unionItem", "", 'P"2!"/"']));
|
|
104
|
-
const propsOnAllTypes = Array.from(propByName.entries()).filter(__assignType(([, props]) => props.length === unionTypes.length, ["param0", "", 'P"2!"/"'])).map(__assignType(([key, props]) => ({
|
|
105
|
-
name: key,
|
|
106
|
-
props,
|
|
107
|
-
complexity: props.reduce(__assignType((acc, item) => acc + getTotalComplexity(comp, item.prop), ["acc", "item", "", 'P"2!"2""/#']), 0),
|
|
108
|
-
isUniqueType: props.every(__assignType((item) => {
|
|
109
|
-
const child = item;
|
|
110
|
-
const typeID = child.prop.getTypeID();
|
|
111
|
-
const isDiff = props.every(__assignType((otherItem) => child.prop === otherItem.prop || otherItem.prop.getTypeID() !== typeID, ["otherItem", "", 'P"2!"/"']));
|
|
112
|
-
return isDiff;
|
|
113
|
-
}, ["item", "", 'P"2!"/"']))
|
|
114
|
-
}), ["param0", "", 'P"2!"/"'])).filter(__assignType((item) => item.isUniqueType, ["item", "", 'P"2!"/"']));
|
|
115
|
-
const lessComplexProps = propsOnAllTypes.toSorted(__assignType((a, b) => a.complexity - b.complexity, ["a", "b", "", 'P"2!"2""/#']));
|
|
116
|
-
const lessComplex = lessComplexProps[0];
|
|
117
|
-
if (!lessComplex)
|
|
118
|
-
return [];
|
|
119
|
-
return lessComplex.props.map(__assignType((item) => {
|
|
120
|
-
item.prop.isUnionDiscriminator = true;
|
|
121
|
-
const unionIndex = urt.getUnionItemIndex(comp, item.unionItem);
|
|
122
|
-
const typeID = item.prop.getTypeID();
|
|
123
|
-
return {
|
|
124
|
-
unionItem: item.unionItem,
|
|
125
|
-
unionIndex,
|
|
126
|
-
prop: item.prop,
|
|
127
|
-
typeID,
|
|
128
|
-
compiledName: getCompiledName(comp, urt, typeID)
|
|
129
|
-
};
|
|
130
|
-
}, ["item", "", 'P"2!"/"']));
|
|
131
|
-
}
|
|
132
|
-
getDiscriminatorProperties.__type = ["JitFnCompiler", "comp", "UnionRunType", "urt", "CollectionRunType", "unionTypes", "propTypeID", "", "getCompiledName", () => __ΩFlattenedProp, "getDiscriminatorProperties", `P"w!2""w#2$"w%F2&P"w!2""w#2$P&'J2'&/(2)n*F/+`];
|
|
133
|
-
function getUniqueDiscriminatorProperties(comp, urt, unionTypes, getCompiledName) {
|
|
134
|
-
if (!unionTypes.length)
|
|
135
|
-
return [];
|
|
136
|
-
const uniquePropByUnionItem = (Map.Ω = [["CollectionRunType", '"w!'], [() => __ΩPropUnionItemPair, "n!"]], /* @__PURE__ */ new Map());
|
|
137
|
-
unionTypes.forEach(__assignType((unionItem) => {
|
|
138
|
-
const props = unionItem.getJitChildren(comp);
|
|
139
|
-
props.forEach(__assignType((prop) => {
|
|
140
|
-
const typeID = prop.getTypeID();
|
|
141
|
-
const isUnique = unionTypes.every(__assignType((otherUnionItem) => {
|
|
142
|
-
if (otherUnionItem === unionItem)
|
|
143
|
-
return true;
|
|
144
|
-
const otherProps = otherUnionItem.getJitChildren(comp);
|
|
145
|
-
return otherProps.every(__assignType((otherProp) => otherProp.getTypeID() !== typeID, ["otherProp", "", 'P"2!"/"']));
|
|
146
|
-
}, ["otherUnionItem", "", 'P"2!"/"']));
|
|
147
|
-
if (isUnique) {
|
|
148
|
-
const existing = uniquePropByUnionItem.get(unionItem);
|
|
149
|
-
if (!existing) {
|
|
150
|
-
uniquePropByUnionItem.set(unionItem, {
|
|
151
|
-
prop,
|
|
152
|
-
unionItem
|
|
153
|
-
});
|
|
154
|
-
return;
|
|
155
|
-
}
|
|
156
|
-
const newItem = { prop, unionItem };
|
|
157
|
-
const lessComplex = [newItem, existing].toSorted(__assignType((a, b) => sortRunTypeByComplexity(comp, a.prop, b.prop), ["a", "b", "", 'P"2!"2""/#']))[0];
|
|
158
|
-
uniquePropByUnionItem.set(unionItem, lessComplex);
|
|
159
|
-
}
|
|
160
|
-
}, ["prop", "", 'P"2!"/"']));
|
|
161
|
-
}, ["unionItem", "", 'P"2!"/"']));
|
|
162
|
-
if (!uniquePropByUnionItem.size)
|
|
163
|
-
return [];
|
|
164
|
-
const uniqueProps = Array.from(uniquePropByUnionItem.values());
|
|
165
|
-
return uniqueProps.map(__assignType((item) => {
|
|
166
|
-
item.prop.isUnionDiscriminator = true;
|
|
167
|
-
const unionIndex = urt.getUnionItemIndex(comp, item.unionItem);
|
|
168
|
-
const typeID = item.prop.getTypeID();
|
|
169
|
-
return {
|
|
170
|
-
unionItem: item.unionItem,
|
|
171
|
-
unionIndex,
|
|
172
|
-
prop: item.prop,
|
|
173
|
-
typeID,
|
|
174
|
-
compiledName: getCompiledName(comp, urt, typeID)
|
|
175
|
-
};
|
|
176
|
-
}, ["item", "", 'P"2!"/"']));
|
|
177
|
-
}
|
|
178
|
-
getUniqueDiscriminatorProperties.__type = ["JitFnCompiler", "comp", "UnionRunType", "urt", "CollectionRunType", "unionTypes", "propTypeID", "", "getCompiledName", () => __ΩFlattenedProp, "getUniqueDiscriminatorProperties", `P"w!2""w#2$"w%F2&P"w!2""w#2$P&'J2'&/(2)n*F/+`];
|
|
179
|
-
function initGetCompiledName() {
|
|
180
|
-
const typeIDs = (Map.Ω = [["P&'J"], ["'"]], /* @__PURE__ */ new Map());
|
|
181
|
-
return __assignType(function getCompiledName(comp, urt, typeID) {
|
|
182
|
-
const existingIndex = typeIDs.get(typeID);
|
|
183
|
-
if (existingIndex)
|
|
184
|
-
return comp.getLocalVarName("prop", urt) + `_${existingIndex}`;
|
|
185
|
-
const newIndex = typeIDs.size;
|
|
186
|
-
typeIDs.set(typeID, newIndex);
|
|
187
|
-
return comp.getLocalVarName("prop", urt) + `_${newIndex}`;
|
|
188
|
-
}, ["JitFnCompiler", "comp", "UnionRunType", "urt", "typeID", "getCompiledName", `P"w!2""w#2$P&'J2%&/&`]);
|
|
189
|
-
}
|
|
190
|
-
initGetCompiledName.__type = ["initGetCompiledName", 'P"/!'];
|
|
191
|
-
export {
|
|
192
|
-
__ΩFlattenedProp,
|
|
193
|
-
__ΩSplitUnionResult,
|
|
194
|
-
markDiscriminators,
|
|
195
|
-
sortUnreachableTypes,
|
|
196
|
-
splitUnionItems
|
|
197
|
-
};
|
|
198
|
-
//# sourceMappingURL=unionDiscriminator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"unionDiscriminator.js","sources":["../../../../../src/nodes/collection/unionDiscriminator.ts"],"sourcesContent":["import type {BaseRunType, CollectionRunType, MemberRunType} from '../../lib/baseRunTypes.ts';\nimport type {JitFnCompiler} from '../../lib/jitFnCompiler.ts';\nimport type {UnionRunType} from './union.ts';\nimport type {PropertyRunType} from '../member/property.ts';\nimport {getTotalComplexity, sortRunTypeByComplexity} from '../../lib/utils.ts';\nimport {isAnyRunType, isUnknownRunType} from '../../lib/guards.ts';\n\nexport type FlattenedProp = {\n /** union item, parent of the property */\n unionItem: CollectionRunType<any>;\n /** index of the union item in the union */\n unionIndex: string | number;\n /** one property of the union item */\n prop: PropertyRunType;\n /** typeID of the property */\n typeID: string | number;\n /** name of the property as it should be used in the code */\n compiledName: string;\n};\n\nexport type SplitUnionResult = {\n simpleItems: BaseRunType[];\n objectTypes: CollectionRunType<any>[];\n /** any or unknown type if present in the union, should be checked last */\n anyItem?: BaseRunType;\n};\n\n/**\n * Split the union types in two groups: interface types and simple types\n * interface types are types that have properties, simple types are the rest (atomic types, tuples, etc)\n * If any or unknown types are present, they are extracted and returned separately as anyItem\n * so they can be checked last (any/unknown would match anything, so must be last resort)\n */\nexport function splitUnionItems(comp: JitFnCompiler, urt: UnionRunType, unionChildren?: BaseRunType[]): SplitUnionResult {\n const unionItems = unionChildren || urt.getJitChildren(comp);\n const objectTypes: CollectionRunType<any>[] = [];\n const simpleItems: BaseRunType[] = [];\n let anyItem: BaseRunType | undefined;\n\n unionItems.forEach((unionItem) => {\n // Extract any/unknown types to be checked last\n if (isAnyRunType(unionItem) || isUnknownRunType(unionItem)) {\n // Only keep the first any/unknown type (having multiple is redundant)\n if (!anyItem) anyItem = unionItem;\n return;\n }\n const isObj = urt.isTypeWithProperties(unionItem);\n if (!isObj) return simpleItems.push(unionItem);\n return objectTypes.push(unionItem as CollectionRunType<any>);\n });\n\n // Sort object types to prevent unreachable types (objects with more props should come first when they share same prop types)\n const sortedObjectTypes = sortUnreachableTypes(comp, objectTypes);\n\n return {simpleItems, objectTypes: sortedObjectTypes, anyItem};\n}\n\n/**\n * Sorts object types to prevent unreachable union types.\n * When two objects share the same properties (by typeID), the one with more properties must come first.\n * This ensures that at runtime, the more specific type is checked before the less specific one.\n * Objects that don't share properties with others maintain their relative order.\n */\nexport function sortUnreachableTypes(comp: JitFnCompiler, objectTypes: CollectionRunType<any>[]): CollectionRunType<any>[] {\n if (objectTypes.length <= 1) return objectTypes;\n\n // Get property typeIDs for each object type\n const typePropsMap = new Map<CollectionRunType<any>, Set<string | number>>();\n objectTypes.forEach((objType) => {\n const props = objType.getJitChildren(comp) as PropertyRunType[];\n const propTypeIDs = new Set<string | number>();\n props.forEach((prop) => propTypeIDs.add(prop.getTypeID()));\n typePropsMap.set(objType, propTypeIDs);\n });\n\n // Check if one object's props are a subset of another's (all props have same typeIDs)\n const isSubsetOf = (smaller: CollectionRunType<any>, larger: CollectionRunType<any>): boolean => {\n const smallerProps = typePropsMap.get(smaller)!;\n const largerProps = typePropsMap.get(larger)!;\n if (smallerProps.size >= largerProps.size) return false;\n for (const typeID of smallerProps) {\n if (!largerProps.has(typeID)) return false;\n }\n return true;\n };\n\n // Find groups of objects that share properties (one is subset of another)\n const processed = new Set<CollectionRunType<any>>();\n const result: CollectionRunType<any>[] = [];\n\n for (let i = 0; i < objectTypes.length; i++) {\n const current = objectTypes[i];\n if (processed.has(current)) continue;\n\n // Find all objects that are related (subset/superset) to current\n const relatedGroup: CollectionRunType<any>[] = [current];\n processed.add(current);\n\n for (let j = 0; j < objectTypes.length; j++) {\n if (i === j) continue;\n const other = objectTypes[j];\n if (processed.has(other)) continue;\n\n // Check if current and other are related (one is subset of the other)\n if (isSubsetOf(current, other) || isSubsetOf(other, current)) {\n relatedGroup.push(other);\n processed.add(other);\n }\n }\n\n // Sort related group by number of properties (more props first)\n if (relatedGroup.length > 1) {\n relatedGroup.sort((a, b) => {\n const aSize = typePropsMap.get(a)!.size;\n const bSize = typePropsMap.get(b)!.size;\n return bSize - aSize; // descending order (more props first)\n });\n }\n\n result.push(...relatedGroup);\n }\n\n return result;\n}\n\n/**\n * Mark discriminator properties so they can be sorted and validate union more efficiently.\n * @param comp\n * @param urt\n */\nexport function markDiscriminators(comp: JitFnCompiler, urt: UnionRunType, unionItems: BaseRunType[]) {\n if (urt.hasDiscriminators !== undefined && urt.hasObjectTypes !== undefined) return;\n const objectTypes = unionItems.filter((item) => urt.isTypeWithProperties(item)) as CollectionRunType<any>[];\n const namedDiscriminators = getDiscriminatorProperties(comp, urt, objectTypes, initGetCompiledName());\n const uniqueDiscriminators = getUniqueDiscriminatorProperties(comp, urt, objectTypes, initGetCompiledName());\n urt.hasObjectTypes = !!objectTypes.length;\n urt.hasDiscriminators = !!namedDiscriminators.length || !!uniqueDiscriminators.length;\n}\n\ntype PropUnionItemPair = {prop: PropertyRunType; unionItem: CollectionRunType<any>};\n\n/**\n * Find a property with the same name in all the types of the union and that has different types.\n * It also marks those properties as discriminator properties so can be sorted later\n */\nfunction getDiscriminatorProperties(\n comp: JitFnCompiler,\n urt: UnionRunType,\n unionTypes: CollectionRunType<any>[],\n getCompiledName: (comp: JitFnCompiler, urt: UnionRunType, propTypeID: string | number) => string\n): FlattenedProp[] {\n if (!unionTypes.length) return [];\n const propByName = new Map<string | number, PropUnionItemPair[]>();\n unionTypes.forEach((unionItem) => {\n const props = unionItem.getJitChildren(comp) as PropertyRunType[];\n props.forEach((prop) => {\n const name = prop.getChildVarName(comp);\n const existing = propByName.get(name) || [];\n // index no needed now\n propByName.set(name, [...existing, {prop, unionItem}]);\n });\n });\n const propsOnAllTypes = Array.from(propByName.entries())\n // filter all properties that are in all types\n .filter(([, props]) => props.length === unionTypes.length)\n // calculate complexity and check if all types are different in all props\n .map(([key, props]) => ({\n name: key,\n props,\n complexity: props.reduce((acc, item) => acc + getTotalComplexity(comp, item.prop), 0),\n isUniqueType: props.every((item) => {\n const child = item;\n const typeID = child.prop.getTypeID();\n const isDiff = props.every((otherItem) => child.prop === otherItem.prop || otherItem.prop.getTypeID() !== typeID);\n return isDiff;\n }),\n }))\n .filter((item) => item.isUniqueType);\n const lessComplexProps = propsOnAllTypes.toSorted((a, b) => a.complexity - b.complexity);\n const lessComplex = lessComplexProps[0];\n if (!lessComplex) return [];\n // we need to marks the property as discriminator so they can be sorted and checked first later\n return lessComplex.props.map((item) => {\n item.prop.isUnionDiscriminator = true;\n const unionIndex = urt.getUnionItemIndex(comp, item.unionItem);\n const typeID = item.prop.getTypeID();\n return {\n unionItem: item.unionItem,\n unionIndex,\n prop: item.prop,\n typeID,\n compiledName: getCompiledName(comp, urt, typeID),\n };\n });\n}\n\n/**\n * Get unique properties in the union as discriminators.\n * These properties can be of different name but are unique in the union so can act as discriminators.\n * It also marks those properties as discriminator properties so can be sorted later.\n * */\nfunction getUniqueDiscriminatorProperties(\n comp: JitFnCompiler,\n urt: UnionRunType,\n unionTypes: CollectionRunType<any>[],\n getCompiledName: (comp: JitFnCompiler, urt: UnionRunType, propTypeID: string | number) => string\n): FlattenedProp[] {\n if (!unionTypes.length) return [];\n const uniquePropByUnionItem = new Map<CollectionRunType<any>, PropUnionItemPair>();\n unionTypes.forEach((unionItem) => {\n const props = unionItem.getJitChildren(comp) as PropertyRunType[];\n props.forEach((prop) => {\n const typeID = prop.getTypeID();\n const isUnique = unionTypes.every((otherUnionItem) => {\n if (otherUnionItem === unionItem) return true;\n const otherProps = otherUnionItem.getJitChildren(comp) as MemberRunType<any>[];\n return otherProps.every((otherProp) => otherProp.getTypeID() !== typeID);\n });\n if (isUnique) {\n const existing = uniquePropByUnionItem.get(unionItem);\n if (!existing) {\n uniquePropByUnionItem.set(unionItem, {\n prop,\n unionItem,\n });\n return;\n }\n const newItem = {prop, unionItem};\n const lessComplex = [newItem, existing].toSorted((a, b) => sortRunTypeByComplexity(comp, a.prop, b.prop))[0];\n uniquePropByUnionItem.set(unionItem, lessComplex);\n }\n });\n });\n if (!uniquePropByUnionItem.size) return [];\n const uniqueProps = Array.from(uniquePropByUnionItem.values());\n return uniqueProps.map((item) => {\n item.prop.isUnionDiscriminator = true;\n const unionIndex = urt.getUnionItemIndex(comp, item.unionItem);\n const typeID = item.prop.getTypeID();\n return {\n unionItem: item.unionItem,\n unionIndex,\n prop: item.prop,\n typeID,\n compiledName: getCompiledName(comp, urt, typeID),\n };\n });\n}\n\nfunction initGetCompiledName() {\n const typeIDs = new Map<string | number, number>();\n return function getCompiledName(comp: JitFnCompiler, urt: UnionRunType, typeID: string | number): string {\n const existingIndex = typeIDs.get(typeID);\n if (existingIndex) return comp.getLocalVarName('prop', urt) + `_${existingIndex}`;\n const newIndex = typeIDs.size;\n typeIDs.set(typeID, newIndex);\n return comp.getLocalVarName('prop', urt) + `_${newIndex}`;\n };\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { AnyFunction, SrcType, JitFn, JitCode, RunTypeOptions } from '../../types.ts';
|
|
2
|
-
import { TypeFunction } from '@deepkit/type';
|
|
3
|
-
import { BaseRunType } from '../../lib/baseRunTypes.ts';
|
|
4
|
-
import { JitFnCompiler, JitErrorsFnCompiler } from '../../lib/jitFnCompiler.ts';
|
|
5
|
-
import { FunctionParamsRunType } from '../collection/functionParams.ts';
|
|
6
|
-
import { JitCompiledFn } from '@mionjs/core';
|
|
7
|
-
export declare class FunctionRunType<CallType extends AnyFunction = TypeFunction> extends BaseRunType<CallType> {
|
|
8
|
-
parameterRunTypes: FunctionParamsRunType;
|
|
9
|
-
skipJit(comp: JitFnCompiler): boolean;
|
|
10
|
-
onCreated(deepkitType: SrcType): void;
|
|
11
|
-
getFamily(): 'F';
|
|
12
|
-
getFnName(): string | number;
|
|
13
|
-
createJitParamsFunction(jitFn: JitFn, opts?: RunTypeOptions): (...args: any[]) => any;
|
|
14
|
-
createJitCompiledParamsFunction(jitFn: JitFn, opts?: RunTypeOptions): JitCompiledFn;
|
|
15
|
-
createJitReturnFunction(jitFn: JitFn): (...args: any[]) => any;
|
|
16
|
-
createJitCompiledReturnFunction(jitFn: JitFn, opts?: RunTypeOptions): JitCompiledFn;
|
|
17
|
-
emitIsType(comp: JitFnCompiler): JitCode;
|
|
18
|
-
emitTypeErrors(comp: JitErrorsFnCompiler): JitCode;
|
|
19
|
-
emitPrepareForJson(): JitCode;
|
|
20
|
-
emitRestoreFromJson(): JitCode;
|
|
21
|
-
emitHasUnknownKeys(): JitCode;
|
|
22
|
-
emitUnknownKeyErrors(): JitCode;
|
|
23
|
-
emitStripUnknownKeys(): JitCode;
|
|
24
|
-
emitUnknownKeysToUndefined(): JitCode;
|
|
25
|
-
getReturnType(): BaseRunType;
|
|
26
|
-
getResolvedReturnType(): BaseRunType;
|
|
27
|
-
getParameters(): FunctionParamsRunType;
|
|
28
|
-
getParameterNames(opts?: RunTypeOptions): string[];
|
|
29
|
-
hasReturnData(): boolean;
|
|
30
|
-
isAsync(): boolean;
|
|
31
|
-
returnIsPromise(): boolean;
|
|
32
|
-
mockReturn(ctx?: RunTypeOptions): Promise<any>;
|
|
33
|
-
mockParams(ctx?: RunTypeOptions): Promise<any[]>;
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=function.d.ts.map
|