@mionjs/run-types 0.13.2 → 0.14.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/README.md +3 -3
- package/dist/builders/atomic.js.map +1 -1
- package/dist/builders/compose.js.map +1 -1
- package/dist/builders/index.js.map +1 -1
- package/dist/builders/static.js.map +1 -1
- package/dist/builders/utility.js.map +1 -1
- package/dist/createRTFunctions.js.map +1 -1
- package/dist/enrich/createFriendlyText.js.map +1 -1
- package/dist/enrich/friendlyText.js.map +1 -1
- package/dist/enrich/mockData.js.map +1 -1
- package/dist/fnHash.js.map +1 -1
- package/dist/formats/bigintFormats.js.map +1 -1
- package/dist/formats/datetime/dateFormats.js.map +1 -1
- package/dist/formats/datetime/dateTime-pure-fns.d.ts +21 -21
- package/dist/formats/datetime/dateTime-pure-fns.js +7 -0
- package/dist/formats/datetime/dateTime-pure-fns.js.map +1 -1
- package/dist/formats/datetime/dateTimeParams.js.map +1 -1
- package/dist/formats/datetime/stringDateTimeFormats.js.map +1 -1
- package/dist/formats/datetime/temporalFormats.js.map +1 -1
- package/dist/formats/index.js.map +1 -1
- package/dist/formats/numberFormats.js.map +1 -1
- package/dist/formats/refineFormat.js.map +1 -1
- package/dist/formats/scalars.js.map +1 -1
- package/dist/formats/string/credit-card-pure-fns.d.ts +4 -4
- package/dist/formats/string/credit-card-pure-fns.js.map +1 -1
- package/dist/formats/string/string-formats-pure-fns.d.ts +12 -12
- package/dist/formats/string/string-formats-pure-fns.js +9 -0
- package/dist/formats/string/string-formats-pure-fns.js.map +1 -1
- package/dist/formats/string/string-patterns.js.map +1 -1
- package/dist/formats/string/stringFormats.js.map +1 -1
- package/dist/formats/structural.js.map +1 -1
- package/dist/getRunType.js.map +1 -1
- package/dist/go-generated/fnHashes.generated.js.map +1 -1
- package/dist/go-generated/formatErrorKeys.generated.js.map +1 -1
- package/dist/go-generated/runTypeKind.generated.js.map +1 -1
- package/dist/go-generated/typeFormats.generated.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/markers.js.map +1 -1
- package/dist/mion-pure-fns/_rt/-yTRFuK01Y.js +2 -0
- package/dist/mion-pure-fns/_rt/0yJQ37XnmN.js +2 -0
- package/dist/mion-pure-fns/_rt/2xtQHAMu-y.js +1 -0
- package/dist/mion-pure-fns/_rt/3RndhrueRD.js +2 -0
- package/dist/mion-pure-fns/_rt/5oCqd7YyfA.js +1 -0
- package/dist/mion-pure-fns/_rt/6E7qWsIwaF.js +1 -0
- package/dist/mion-pure-fns/_rt/8AgZCCAhyw.js +1 -0
- package/dist/mion-pure-fns/_rt/AmEsDA-eXW.js +2 -0
- package/dist/mion-pure-fns/_rt/D503ooPt08.js +2 -0
- package/dist/mion-pure-fns/_rt/GA20s6bj41.js +1 -0
- package/dist/mion-pure-fns/_rt/GaLOTE4b_F.js +2 -0
- package/dist/mion-pure-fns/_rt/ICDNQUtC8e.js +1 -0
- package/dist/mion-pure-fns/_rt/IyjvBbz0zS.js +1 -0
- package/dist/mion-pure-fns/_rt/Nnf7kyDfjI.js +2 -0
- package/dist/mion-pure-fns/_rt/OCJ1B0-ZCA.js +1 -0
- package/dist/mion-pure-fns/_rt/OXVO2EpSFv.js +1 -0
- package/dist/mion-pure-fns/_rt/PZzwu-J2YB.js +2 -0
- package/dist/mion-pure-fns/_rt/Qd_9GJQlOC.js +1 -0
- package/dist/mion-pure-fns/_rt/T48n0wyjPx.js +2 -0
- package/dist/mion-pure-fns/_rt/VJiknJ2exR.js +1 -0
- package/dist/mion-pure-fns/_rt/Z2sc5xQPKB.js +1 -0
- package/dist/mion-pure-fns/_rt/ZPLfUKoTJQ.js +1 -0
- package/dist/mion-pure-fns/_rt/_abcB3do2M.js +1 -0
- package/dist/mion-pure-fns/_rt/cK87_2eKQW.js +1 -0
- package/dist/mion-pure-fns/_rt/cgwpjq6rGs.js +1 -0
- package/dist/mion-pure-fns/_rt/d8U9HjmMsN.js +1 -0
- package/dist/mion-pure-fns/_rt/eglb1lzTW9.js +1 -0
- package/dist/mion-pure-fns/_rt/eupKgBrCGt.js +2 -0
- package/dist/mion-pure-fns/_rt/gNpMnJMAUE.js +4 -0
- package/dist/mion-pure-fns/_rt/hiotRbfSKF.js +1 -0
- package/dist/mion-pure-fns/_rt/i-jWpjiwhL.js +1 -0
- package/dist/mion-pure-fns/_rt/iFXkEtW54e.js +1 -0
- package/dist/mion-pure-fns/_rt/jKlKNzqG2-.js +1 -0
- package/dist/mion-pure-fns/_rt/kSLD_nEHux.js +1 -0
- package/dist/mion-pure-fns/_rt/lBHf1kg5nQ.js +1 -0
- package/dist/mion-pure-fns/_rt/lFYcgG5ZSI.js +1 -0
- package/dist/mion-pure-fns/_rt/nLaf1XVvS4.js +2 -0
- package/dist/mion-pure-fns/_rt/n_ZOWff4X3.js +1 -0
- package/dist/mion-pure-fns/_rt/nsU8QeJCuC.js +1 -0
- package/dist/mion-pure-fns/_rt/oUfCfYMODo.js +2 -0
- package/dist/mion-pure-fns/_rt/t3CflNaUUJ.js +2 -0
- package/dist/mion-pure-fns/_rt/tfRjnFZVF8.js +1 -0
- package/dist/mion-pure-fns/_rt/u0Mw9bizvB.js +1 -0
- package/dist/mion-pure-fns/_rt/vPNeWxcCkj.js +3 -0
- package/dist/mion-pure-fns/_rt/wSBaXrUNw9.js +1 -0
- package/dist/mion-pure-fns/_rt/zaCgqTB_lJ.js +5 -0
- package/dist/mion-pure-fns/index.json +114 -114
- package/dist/mocking/childMatch.js.map +1 -1
- package/dist/mocking/constants.mock.d.ts +0 -1
- package/dist/mocking/constants.mock.js +0 -1
- package/dist/mocking/constants.mock.js.map +1 -1
- package/dist/mocking/createMockData.js.map +1 -1
- package/dist/mocking/index.js.map +1 -1
- package/dist/mocking/isMultipleOf.js.map +1 -1
- package/dist/mocking/mockBigIntFormat.js.map +1 -1
- package/dist/mocking/mockDateTimeBounds.js.map +1 -1
- package/dist/mocking/mockInvalid.js.map +1 -1
- package/dist/mocking/mockNumberFormat.js.map +1 -1
- package/dist/mocking/mockRandom.js.map +1 -1
- package/dist/mocking/mockRegistry.js.map +1 -1
- package/dist/mocking/mockStringFormat.js +1 -1
- package/dist/mocking/mockStringFormat.js.map +1 -1
- package/dist/mocking/mockTemporal.js.map +1 -1
- package/dist/mocking/mockType.js.map +1 -1
- package/dist/mocking/mockTypes.js.map +1 -1
- package/dist/mocking/structuralFormat.js.map +1 -1
- package/dist/modelTypes.js.map +1 -1
- package/dist/overrideRTFunctions.js.map +1 -1
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtypes/builderCore.js.map +1 -1
- package/dist/runtypes/builderTypes.js.map +1 -1
- package/dist/runtypes/circular-pure-fns.d.ts +1 -1
- package/dist/runtypes/circular-pure-fns.js.map +1 -1
- package/dist/runtypes/circular.js.map +1 -1
- package/dist/runtypes/classSerializerRegistry.js.map +1 -1
- package/dist/runtypes/dataOnly.js.map +1 -1
- package/dist/runtypes/entryTuple.js +30 -3
- package/dist/runtypes/entryTuple.js.map +1 -1
- package/dist/runtypes/formatAnnotation.js.map +1 -1
- package/dist/runtypes/formatErrors.js.map +1 -1
- package/dist/runtypes/formatPattern.js.map +1 -1
- package/dist/runtypes/jsonShape.js.map +1 -1
- package/dist/runtypes/pure-fn-ids.generated.d.ts +47 -47
- package/dist/runtypes/pure-fn-ids.generated.js +47 -47
- package/dist/runtypes/pure-fn-ids.generated.js.map +1 -1
- package/dist/runtypes/pure-fns-utils.d.ts +8 -8
- package/dist/runtypes/pure-fns-utils.js +0 -1
- package/dist/runtypes/pure-fns-utils.js.map +1 -1
- package/dist/runtypes/pureFn.js.map +1 -1
- package/dist/runtypes/rtUtils.js +16 -3
- package/dist/runtypes/rtUtils.js.map +1 -1
- package/dist/runtypes/sentinelKeys.js.map +1 -1
- package/dist/runtypes/stripRunTypeMeta.js.map +1 -1
- package/dist/runtypes/typeFormat.js.map +1 -1
- package/dist/runtypes/types.js.map +1 -1
- package/dist/standard/createJsonSchemaFn.js.map +1 -1
- package/dist/standard/createStandardSchema.js.map +1 -1
- package/dist/standard/issueMapping.js +2 -0
- package/dist/standard/issueMapping.js.map +1 -1
- package/dist/standard/jsonSchemaDoc.js.map +1 -1
- package/dist/standard/spec.js.map +1 -1
- package/package.json +21 -58
- package/dist/cjs/builders/atomic.d.ts +0 -12
- package/dist/cjs/builders/atomic.js +0 -43
- package/dist/cjs/builders/compose.d.ts +0 -60
- package/dist/cjs/builders/compose.js +0 -122
- package/dist/cjs/builders/index.d.ts +0 -5
- package/dist/cjs/builders/index.js +0 -48
- package/dist/cjs/builders/static.d.ts +0 -137
- package/dist/cjs/builders/static.js +0 -2
- package/dist/cjs/builders/utility.d.ts +0 -12
- package/dist/cjs/builders/utility.js +0 -43
- package/dist/cjs/createRTFunctions.d.ts +0 -90
- package/dist/cjs/createRTFunctions.js +0 -38
- package/dist/cjs/enrich/createFriendlyText.d.ts +0 -25
- package/dist/cjs/enrich/createFriendlyText.js +0 -275
- package/dist/cjs/enrich/friendlyText.d.ts +0 -56
- package/dist/cjs/enrich/friendlyText.js +0 -2
- package/dist/cjs/enrich/mockData.d.ts +0 -53
- package/dist/cjs/enrich/mockData.js +0 -2
- package/dist/cjs/fnHash.d.ts +0 -8
- package/dist/cjs/fnHash.js +0 -41
- package/dist/cjs/formats/bigintFormats.d.ts +0 -41
- package/dist/cjs/formats/bigintFormats.js +0 -10
- package/dist/cjs/formats/datetime/dateFormats.d.ts +0 -10
- package/dist/cjs/formats/datetime/dateFormats.js +0 -2
- package/dist/cjs/formats/datetime/dateTime-pure-fns.d.ts +0 -21
- package/dist/cjs/formats/datetime/dateTime-pure-fns.js +0 -405
- package/dist/cjs/formats/datetime/dateTimeParams.d.ts +0 -14
- package/dist/cjs/formats/datetime/dateTimeParams.js +0 -2
- package/dist/cjs/formats/datetime/stringDateTimeFormats.d.ts +0 -33
- package/dist/cjs/formats/datetime/stringDateTimeFormats.js +0 -2
- package/dist/cjs/formats/datetime/temporalFormats.d.ts +0 -84
- package/dist/cjs/formats/datetime/temporalFormats.js +0 -23
- package/dist/cjs/formats/index.d.ts +0 -18
- package/dist/cjs/formats/index.js +0 -88
- package/dist/cjs/formats/numberFormats.d.ts +0 -82
- package/dist/cjs/formats/numberFormats.js +0 -16
- package/dist/cjs/formats/refineFormat.d.ts +0 -24
- package/dist/cjs/formats/refineFormat.js +0 -2
- package/dist/cjs/formats/scalars.d.ts +0 -32
- package/dist/cjs/formats/scalars.js +0 -30
- package/dist/cjs/formats/string/credit-card-pure-fns.d.ts +0 -26
- package/dist/cjs/formats/string/credit-card-pure-fns.js +0 -151
- package/dist/cjs/formats/string/string-formats-pure-fns.d.ts +0 -12
- package/dist/cjs/formats/string/string-formats-pure-fns.js +0 -517
- package/dist/cjs/formats/string/string-patterns.d.ts +0 -111
- package/dist/cjs/formats/string/string-patterns.js +0 -115
- package/dist/cjs/formats/string/stringFormats.d.ts +0 -489
- package/dist/cjs/formats/string/stringFormats.js +0 -84
- package/dist/cjs/formats/structural.d.ts +0 -105
- package/dist/cjs/formats/structural.js +0 -7
- package/dist/cjs/getRunType.d.ts +0 -4
- package/dist/cjs/getRunType.js +0 -20
- package/dist/cjs/go-generated/fnHashes.generated.d.ts +0 -196
- package/dist/cjs/go-generated/fnHashes.generated.js +0 -78
- package/dist/cjs/go-generated/formatErrorKeys.generated.d.ts +0 -78
- package/dist/cjs/go-generated/formatErrorKeys.generated.js +0 -40
- package/dist/cjs/go-generated/runTypeKind.generated.d.ts +0 -62
- package/dist/cjs/go-generated/runTypeKind.generated.js +0 -61
- package/dist/cjs/go-generated/typeFormats.generated.d.ts +0 -104
- package/dist/cjs/go-generated/typeFormats.generated.js +0 -30
- package/dist/cjs/index.d.ts +0 -28
- package/dist/cjs/index.js +0 -47
- package/dist/cjs/markers.d.ts +0 -33
- package/dist/cjs/markers.js +0 -14
- package/dist/cjs/mocking/childMatch.d.ts +0 -3
- package/dist/cjs/mocking/childMatch.js +0 -357
- package/dist/cjs/mocking/constants.mock.d.ts +0 -7
- package/dist/cjs/mocking/constants.mock.js +0 -87
- package/dist/cjs/mocking/createMockData.d.ts +0 -8
- package/dist/cjs/mocking/createMockData.js +0 -53
- package/dist/cjs/mocking/index.d.ts +0 -4
- package/dist/cjs/mocking/index.js +0 -9
- package/dist/cjs/mocking/isMultipleOf.d.ts +0 -2
- package/dist/cjs/mocking/isMultipleOf.js +0 -11
- package/dist/cjs/mocking/mockBigIntFormat.d.ts +0 -1
- package/dist/cjs/mocking/mockBigIntFormat.js +0 -38
- package/dist/cjs/mocking/mockDateTimeBounds.d.ts +0 -13
- package/dist/cjs/mocking/mockDateTimeBounds.js +0 -277
- package/dist/cjs/mocking/mockInvalid.d.ts +0 -15
- package/dist/cjs/mocking/mockInvalid.js +0 -233
- package/dist/cjs/mocking/mockNumberFormat.d.ts +0 -1
- package/dist/cjs/mocking/mockNumberFormat.js +0 -56
- package/dist/cjs/mocking/mockRandom.d.ts +0 -20
- package/dist/cjs/mocking/mockRandom.js +0 -106
- package/dist/cjs/mocking/mockRegistry.d.ts +0 -7
- package/dist/cjs/mocking/mockRegistry.js +0 -11
- package/dist/cjs/mocking/mockStringFormat.d.ts +0 -5
- package/dist/cjs/mocking/mockStringFormat.js +0 -238
- package/dist/cjs/mocking/mockTemporal.d.ts +0 -13
- package/dist/cjs/mocking/mockTemporal.js +0 -233
- package/dist/cjs/mocking/mockType.d.ts +0 -3
- package/dist/cjs/mocking/mockType.js +0 -810
- package/dist/cjs/mocking/mockTypes.d.ts +0 -54
- package/dist/cjs/mocking/mockTypes.js +0 -2
- package/dist/cjs/mocking/structuralFormat.d.ts +0 -5
- package/dist/cjs/mocking/structuralFormat.js +0 -82
- package/dist/cjs/modelTypes.d.ts +0 -11
- package/dist/cjs/modelTypes.js +0 -2
- package/dist/cjs/overrideRTFunctions.d.ts +0 -9
- package/dist/cjs/overrideRTFunctions.js +0 -20
- package/dist/cjs/package.json +0 -3
- package/dist/cjs/runtime/index.d.ts +0 -10
- package/dist/cjs/runtime/index.js +0 -25
- package/dist/cjs/runtypes/builderCore.d.ts +0 -7
- package/dist/cjs/runtypes/builderCore.js +0 -39
- package/dist/cjs/runtypes/builderTypes.d.ts +0 -51
- package/dist/cjs/runtypes/builderTypes.js +0 -2
- package/dist/cjs/runtypes/circular-pure-fns.d.ts +0 -11
- package/dist/cjs/runtypes/circular-pure-fns.js +0 -117
- package/dist/cjs/runtypes/circular.d.ts +0 -6
- package/dist/cjs/runtypes/circular.js +0 -25
- package/dist/cjs/runtypes/classSerializerRegistry.d.ts +0 -28
- package/dist/cjs/runtypes/classSerializerRegistry.js +0 -141
- package/dist/cjs/runtypes/dataOnly.d.ts +0 -29
- package/dist/cjs/runtypes/dataOnly.js +0 -2
- package/dist/cjs/runtypes/entryTuple.d.ts +0 -101
- package/dist/cjs/runtypes/entryTuple.js +0 -395
- package/dist/cjs/runtypes/formatAnnotation.d.ts +0 -4
- package/dist/cjs/runtypes/formatAnnotation.js +0 -2
- package/dist/cjs/runtypes/formatErrors.d.ts +0 -18
- package/dist/cjs/runtypes/formatErrors.js +0 -2
- package/dist/cjs/runtypes/formatPattern.d.ts +0 -20
- package/dist/cjs/runtypes/formatPattern.js +0 -17
- package/dist/cjs/runtypes/jsonShape.d.ts +0 -22
- package/dist/cjs/runtypes/jsonShape.js +0 -2
- package/dist/cjs/runtypes/pure-fn-ids.generated.d.ts +0 -47
- package/dist/cjs/runtypes/pure-fn-ids.generated.js +0 -50
- package/dist/cjs/runtypes/pure-fns-utils.d.ts +0 -8
- package/dist/cjs/runtypes/pure-fns-utils.js +0 -147
- package/dist/cjs/runtypes/pureFn.d.ts +0 -7
- package/dist/cjs/runtypes/pureFn.js +0 -52
- package/dist/cjs/runtypes/rtUtils.d.ts +0 -45
- package/dist/cjs/runtypes/rtUtils.js +0 -218
- package/dist/cjs/runtypes/sentinelKeys.d.ts +0 -7
- package/dist/cjs/runtypes/sentinelKeys.js +0 -2
- package/dist/cjs/runtypes/stripRunTypeMeta.d.ts +0 -53
- package/dist/cjs/runtypes/stripRunTypeMeta.js +0 -2
- package/dist/cjs/runtypes/typeFormat.d.ts +0 -14
- package/dist/cjs/runtypes/typeFormat.js +0 -2
- package/dist/cjs/runtypes/types.d.ts +0 -114
- package/dist/cjs/runtypes/types.js +0 -2
- package/dist/cjs/standard/createJsonSchemaFn.d.ts +0 -8
- package/dist/cjs/standard/createJsonSchemaFn.js +0 -16
- package/dist/cjs/standard/createStandardSchema.d.ts +0 -18
- package/dist/cjs/standard/createStandardSchema.js +0 -30
- package/dist/cjs/standard/issueMapping.d.ts +0 -12
- package/dist/cjs/standard/issueMapping.js +0 -36
- package/dist/cjs/standard/jsonSchemaDoc.d.ts +0 -7
- package/dist/cjs/standard/jsonSchemaDoc.js +0 -95
- package/dist/cjs/standard/spec.d.ts +0 -47
- package/dist/cjs/standard/spec.js +0 -2
- package/dist/mion-pure-fns/@mionjs/run-types/-y__pOnrgnvRMz.js +0 -2
- package/dist/mion-pure-fns/@mionjs/run-types/0ofEnb55W0BDIY.js +0 -2
- package/dist/mion-pure-fns/@mionjs/run-types/18wDCH5CXZoQKV.js +0 -2
- package/dist/mion-pure-fns/@mionjs/run-types/2xtQHAMu-yOBo6.js +0 -1
- package/dist/mion-pure-fns/@mionjs/run-types/5oCqd7YyfA9rEw.js +0 -1
- package/dist/mion-pure-fns/@mionjs/run-types/6E7qWsIwaFRGn6.js +0 -1
- package/dist/mion-pure-fns/@mionjs/run-types/6xkN1Qfs9nqO79.js +0 -1
- package/dist/mion-pure-fns/@mionjs/run-types/8Mj42N3ytEEn67.js +0 -1
- package/dist/mion-pure-fns/@mionjs/run-types/A3KjzpjelkcBST.js +0 -2
- package/dist/mion-pure-fns/@mionjs/run-types/AgOXcprpjsrTKk.js +0 -1
- package/dist/mion-pure-fns/@mionjs/run-types/E29ul2pUOyD_Ay.js +0 -1
- package/dist/mion-pure-fns/@mionjs/run-types/EG8OkOOSnT9bZn.js +0 -1
- package/dist/mion-pure-fns/@mionjs/run-types/EYsxRHRDgAykA_.js +0 -3
- package/dist/mion-pure-fns/@mionjs/run-types/Eube1z0GFHuqlM.js +0 -2
- package/dist/mion-pure-fns/@mionjs/run-types/GA20s6bj41GC1A.js +0 -1
- package/dist/mion-pure-fns/@mionjs/run-types/GfQK19ktpvibuZ.js +0 -2
- package/dist/mion-pure-fns/@mionjs/run-types/IyjvBbz0zSlgCJ.js +0 -1
- package/dist/mion-pure-fns/@mionjs/run-types/LqTR2O-h6MYq9J.js +0 -4
- package/dist/mion-pure-fns/@mionjs/run-types/MnJ72PqkyXHiSP.js +0 -1
- package/dist/mion-pure-fns/@mionjs/run-types/NJ9TCGDnkv_9Mn.js +0 -2
- package/dist/mion-pure-fns/@mionjs/run-types/OCJ1B0-ZCAwagS.js +0 -1
- package/dist/mion-pure-fns/@mionjs/run-types/PQVLEBllZckw8I.js +0 -2
- package/dist/mion-pure-fns/@mionjs/run-types/Qd_9GJQlOCVqDe.js +0 -1
- package/dist/mion-pure-fns/@mionjs/run-types/R0IFkkw4SM2gvv.js +0 -2
- package/dist/mion-pure-fns/@mionjs/run-types/THkAA-KNR1HeAe.js +0 -1
- package/dist/mion-pure-fns/@mionjs/run-types/VJiknJ2exR2oMF.js +0 -1
- package/dist/mion-pure-fns/@mionjs/run-types/XYGjy-tcgDROBw.js +0 -2
- package/dist/mion-pure-fns/@mionjs/run-types/Z2sc5xQPKB0oav.js +0 -1
- package/dist/mion-pure-fns/@mionjs/run-types/_3Pmrr5aNmyNi4.js +0 -2
- package/dist/mion-pure-fns/@mionjs/run-types/cgwpjq6rGsI8jb.js +0 -1
- package/dist/mion-pure-fns/@mionjs/run-types/d8U9HjmMsNFd6Z.js +0 -1
- package/dist/mion-pure-fns/@mionjs/run-types/fL3v1v6aVZwJ7-.js +0 -1
- package/dist/mion-pure-fns/@mionjs/run-types/gFl-yXbCxJqWgQ.js +0 -2
- package/dist/mion-pure-fns/@mionjs/run-types/hiotRbfSKFAuK4.js +0 -1
- package/dist/mion-pure-fns/@mionjs/run-types/lFYcgG5ZSI-8em.js +0 -1
- package/dist/mion-pure-fns/@mionjs/run-types/n_ZOWff4X3qBMQ.js +0 -1
- package/dist/mion-pure-fns/@mionjs/run-types/ndkQPoji6DFHx2.js +0 -2
- package/dist/mion-pure-fns/@mionjs/run-types/nsU8QeJCuCF8Kr.js +0 -1
- package/dist/mion-pure-fns/@mionjs/run-types/qMsNYN8hy_sC8i.js +0 -1
- package/dist/mion-pure-fns/@mionjs/run-types/rXVwGkGDX08BsQ.js +0 -1
- package/dist/mion-pure-fns/@mionjs/run-types/rgWveqNi_HeFF8.js +0 -5
- package/dist/mion-pure-fns/@mionjs/run-types/s-tZDRlQfCG5m2.js +0 -1
- package/dist/mion-pure-fns/@mionjs/run-types/t-ntJ9S0FuxkC2.js +0 -1
- package/dist/mion-pure-fns/@mionjs/run-types/tfRjnFZVF8lqI_.js +0 -1
- package/dist/mion-pure-fns/@mionjs/run-types/vLId7t0J8HNWlN.js +0 -1
- package/dist/mion-pure-fns/@mionjs/run-types/zXMPEMyjGR4ZRc.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string-formats-pure-fns.js","sourceRoot":"","sources":["../../../src/formats/string/string-formats-pure-fns.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"string-formats-pure-fns.js","sourceRoot":"","sources":["../../../src/formats/string/string-formats-pure-fns.ts"],"names":[],"mappings":"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","sourcesContent":["// Registration module for every pure fn the Go-side format emitters reach via\n// `utl.getPureFn(<the id below>)`. Each is registered at module load, so importing this file from\n// `src/formats/index.ts` (the `@mionjs/run-types/formats` subpath surface) is enough to guarantee the\n// registrations happen before any user code references a format type.\n// (ref: packages/type-formats/src/type-formats-pure-fns.ts)\n\nimport {registerPureFnFactory} from '../../runtypes/pureFn.ts';\nimport {\n isUUIDId,\n codePointLengthId,\n isEcmaRegexId,\n punycodeDecodeId,\n punycodeEncodeId,\n isIdnaLabelId,\n satisfiesBidiId,\n isIdnHostnameId,\n isEmailAddressId,\n isLocalHostId,\n isIPV4Id,\n isIPV6Id,\n} from '../../runtypes/pure-fn-ids.generated.ts';\nimport type {RTUtils} from '../../runtypes/rtUtils.ts';\n\n// The wire-shape params object the Go emitter passes to isUUID at runtime, only what the validator needs.\ninterface UUIDParams {\n version: string;\n}\n\n// Matches the runtime behaviour of the canonical UUIDv4 / UUIDv7 patterns without a regex engine.\nexport const isUUID = registerPureFnFactory(function () {\n return function _isUUID(value: string, params: UUIDParams): boolean {\n if (typeof value !== 'string' || value.length !== 36) return false;\n // Version 'any' (JSON Schema `format: uuid`) takes slots 14 and 19 as plain hex, so the Nil and Max UUIDs pass.\n const pinned = params.version !== 'any';\n for (let i = 0; i < 36; i++) {\n if (i === 8 || i === 13 || i === 18 || i === 23) {\n if (value[i] !== '-') return false;\n } else if (i === 14 && pinned) {\n if (value[i] !== params.version) return false;\n } else if (i === 19 && pinned) {\n // RFC 9562 variant: `[89abAB]`.\n const variant = value.charCodeAt(i);\n const isVariant =\n variant === 56 || variant === 57 || variant === 97 || variant === 98 || variant === 65 || variant === 66;\n if (!isVariant) return false;\n } else {\n const charCode = value.charCodeAt(i);\n const is09 = charCode >= 48 && charCode <= 57;\n const isaf = charCode >= 97 && charCode <= 102;\n const isAF = charCode >= 65 && charCode <= 70;\n if (!(is09 || isaf || isAF)) return false;\n }\n }\n return true;\n };\n}, isUUIDId);\n\n// ############### Length pure fn ###############\n//\n// `minLength` / `maxLength` / `length` count CODE POINTS, not UTF-16 code units, which is what JSON\n// Schema specifies: `'💩💩'` is two code points but `.length === 4`, so a plain `.length` check calls\n// it too long under `maxLength: 2`. Only the ambiguous side of each bound routes through here (see\n// lengthConditions in internal/cachegen/typefunctions/formats/string/stringformat.go; bounds a plain\n// `.length` already decides never reach this fn). Two regimes: a short string counts faster in a\n// charCode loop than the fixed cost of a regex call, a long all-BMP one is one native regex scan.\nexport const codePointLength = registerPureFnFactory(function () {\n const highSurrogateRegexp = /[\\uD800-\\uDBFF]/;\n return function _code_point_length(value: string): number {\n const len = value.length;\n if (len > 24 && !highSurrogateRegexp.test(value)) return len;\n let count = len;\n for (let i = 0; i < len; i++) {\n const code = value.charCodeAt(i);\n if (code >= 0xd800 && code <= 0xdbff && i + 1 < len) {\n i++;\n count--;\n }\n }\n return count;\n };\n}, codePointLengthId);\n\n// ############### Regex pure fn ###############\n//\n// `format: 'regex'` asks whether the STRING is a usable ECMA-262 regular expression, which only the\n// engine can answer. Unicode mode is what rejects the constructs from other regex dialects that plain\n// mode would quietly accept as literals: `(?i)` / `(?ims)`, `(?#…)`, Python's named group spellings.\nexport const isEcmaRegex = registerPureFnFactory(function () {\n return function _is_ecma_regex(value: string): boolean {\n try {\n new RegExp(value, 'u');\n return true;\n } catch {\n return false;\n }\n };\n}, isEcmaRegexId);\n\n// ############### IDNA pure fns ###############\n//\n// The internationalized host name engine, split into small pieces that reach each other through\n// `utl.getPureFn`, so the Go extractor records the transitive deps and ships only what a call site\n// needs.\n// punycodeDecode / punycodeEncode RFC 3492, the `xn--` payload codec\n// isIdnaLabel RFC 5892, one label's characters + context\n// satisfiesBidi RFC 5893, the whole-name ordering rule\n// isIdnHostname the entry point the `domain` emitter calls\n//\n// A host name cannot be a pattern: an `xn--` label has to be DECODED before its characters can be\n// judged, re-encoded to prove the spelling is canonical, and the Bidi rule reads every label at once.\n// Each factory keeps its own tables inline because the extractor lifts the factory body alone.\n\ntype PunycodeFn = (input: string) => string | false;\ntype LabelFn = (label: string) => boolean;\ntype BidiFn = (labels: readonly string[]) => boolean;\n\nexport const punycodeDecode = registerPureFnFactory(function () {\n const BASE = 36;\n const TMIN = 1;\n const TMAX = 26;\n const SKEW = 38;\n const DAMP = 700;\n const INITIAL_BIAS = 72;\n const INITIAL_N = 128;\n const MAX_INT = 0x7fffffff;\n function adapt(delta: number, numPoints: number, firstTime: boolean): number {\n let scaled = firstTime ? Math.floor(delta / DAMP) : delta >> 1;\n scaled += Math.floor(scaled / numPoints);\n let k = 0;\n while (scaled > ((BASE - TMIN) * TMAX) >> 1) {\n scaled = Math.floor(scaled / (BASE - TMIN));\n k += BASE;\n }\n return k + Math.floor(((BASE - TMIN + 1) * scaled) / (scaled + SKEW));\n }\n return function _punycode_decode(input: string): string | false {\n const out: number[] = [];\n let index = input.lastIndexOf('-');\n if (index > 0) {\n for (let i = 0; i < index; i++) {\n const code = input.charCodeAt(i);\n if (code >= 0x80) return false;\n out.push(code);\n }\n index++;\n } else index = 0;\n let n = INITIAL_N;\n let bias = INITIAL_BIAS;\n let i = 0;\n while (index < input.length) {\n const previousI = i;\n for (let weight = 1, k = BASE; ; k += BASE) {\n if (index >= input.length) return false;\n const code = input.charCodeAt(index++);\n const digit =\n code >= 0x30 && code <= 0x39\n ? code - 0x30 + 26\n : code >= 0x61 && code <= 0x7a\n ? code - 0x61\n : code >= 0x41 && code <= 0x5a\n ? code - 0x41\n : -1;\n if (digit < 0 || digit > (MAX_INT - i) / weight) return false;\n i += digit * weight;\n const threshold = k <= bias ? TMIN : k >= bias + TMAX ? TMAX : k - bias;\n if (digit < threshold) break;\n if (weight > Math.floor(MAX_INT / (BASE - threshold))) return false;\n weight *= BASE - threshold;\n }\n bias = adapt(i - previousI, out.length + 1, previousI === 0);\n if (Math.floor(i / (out.length + 1)) > MAX_INT - n) return false;\n n += Math.floor(i / (out.length + 1));\n i %= out.length + 1;\n if (n > 0x10ffff || (n >= 0xd800 && n <= 0xdfff)) return false;\n out.splice(i++, 0, n);\n }\n return String.fromCodePoint(...out);\n };\n}, punycodeDecodeId);\n\nexport const punycodeEncode = registerPureFnFactory(function () {\n const BASE = 36;\n const TMIN = 1;\n const TMAX = 26;\n const SKEW = 38;\n const DAMP = 700;\n const INITIAL_BIAS = 72;\n const INITIAL_N = 128;\n const MAX_INT = 0x7fffffff;\n function adapt(delta: number, numPoints: number, firstTime: boolean): number {\n let scaled = firstTime ? Math.floor(delta / DAMP) : delta >> 1;\n scaled += Math.floor(scaled / numPoints);\n let k = 0;\n while (scaled > ((BASE - TMIN) * TMAX) >> 1) {\n scaled = Math.floor(scaled / (BASE - TMIN));\n k += BASE;\n }\n return k + Math.floor(((BASE - TMIN + 1) * scaled) / (scaled + SKEW));\n }\n function digitChar(digit: number): string {\n return String.fromCharCode(digit < 26 ? digit + 0x61 : digit - 26 + 0x30);\n }\n return function _punycode_encode(input: string): string | false {\n const points = [...input].map((char) => char.codePointAt(0) as number);\n const basic = points.filter((code) => code < 0x80);\n let handled = basic.length;\n let out = basic.map((code) => String.fromCharCode(code)).join('');\n if (handled) out += '-';\n let n = INITIAL_N;\n let delta = 0;\n let bias = INITIAL_BIAS;\n while (handled < points.length) {\n let next = MAX_INT;\n for (const code of points) if (code >= n && code < next) next = code;\n if (next - n > Math.floor((MAX_INT - delta) / (handled + 1))) return false;\n delta += (next - n) * (handled + 1);\n n = next;\n for (const code of points) {\n if (code < n && ++delta > MAX_INT) return false;\n if (code !== n) continue;\n let remaining = delta;\n for (let k = BASE; ; k += BASE) {\n const threshold = k <= bias ? TMIN : k >= bias + TMAX ? TMAX : k - bias;\n if (remaining < threshold) break;\n out += digitChar(threshold + ((remaining - threshold) % (BASE - threshold)));\n remaining = Math.floor((remaining - threshold) / (BASE - threshold));\n }\n out += digitChar(remaining);\n bias = adapt(delta, handled + 1, handled === basic.length);\n delta = 0;\n handled++;\n }\n delta++;\n n++;\n }\n return out;\n };\n}, punycodeEncodeId);\n\nexport const isIdnaLabel = registerPureFnFactory(function () {\n // RFC 5892 section 2.6 exception tables: derivable from no Unicode property, so spelled out.\n const PVALID_EXCEPTIONS = [0x00df, 0x03c2, 0x06fd, 0x06fe, 0x0f0b, 0x3007];\n const DISALLOWED_EXCEPTIONS = [0x0640, 0x07fa, 0x302e, 0x302f, 0x3031, 0x3032, 0x3033, 0x3034, 0x3035, 0x303b];\n // Canonical_Combining_Class=Virama. JS regex has no escape for it.\n const VIRAMA = [\n 0x094d, 0x09cd, 0x0a4d, 0x0acd, 0x0b4d, 0x0bcd, 0x0c4d, 0x0ccd, 0x0d3b, 0x0d3c, 0x0d4d, 0x0dca, 0x0e3a, 0x0eba, 0x0f84,\n 0x1039, 0x103a, 0x1714, 0x1734, 0x17d2, 0x1a60, 0x1b44, 0x1baa, 0x1bab, 0x1bf2, 0x1bf3, 0x2d7f, 0xa806, 0xa8c4, 0xa953,\n 0xa9c0, 0xaaf6, 0xabed, 0x10a3f, 0x11046, 0x1107f, 0x110b9, 0x11133, 0x11134, 0x111c0, 0x11235, 0x112ea, 0x1134d, 0x11442,\n 0x114c2, 0x115bf, 0x1163f, 0x116b6, 0x1172b, 0x11839, 0x119e0, 0x11a34, 0x11a99, 0x11c3f, 0x11d44, 0x11d45, 0x11d97,\n ];\n const greekRegexp = /\\p{Script=Greek}/u;\n const hebrewRegexp = /\\p{Script=Hebrew}/u;\n const katakanaContextRegexp = /[\\p{Script=Hiragana}\\p{Script=Katakana}\\p{Script=Han}]/u;\n const allowedRegexp = /[\\p{L}\\p{M}\\p{N}]/u;\n const markRegexp = /\\p{M}/u;\n const arabicIndicRegexp = /[٠-٩]/u;\n const extendedArabicIndicRegexp = /[۰-۹]/u;\n // Joining_Type is not a JS regex property either, so the joining SCRIPTS stand in for it: enough to\n // tell an Arabic neighbour from a Latin one.\n const joiningRegexp = /[\\p{Script=Arabic}\\p{Script=Syriac}\\p{Script=Nko}\\p{Script=Mandaic}\\p{Script=Adlam}]\\p{M}*$/u;\n return function _is_idna_label(label: string): boolean {\n if (label === '') return false;\n if (label.startsWith('-') || label.endsWith('-')) return false;\n // `--` in the 3rd and 4th position is reserved for the A-label prefix.\n if (label.length > 3 && label[2] === '-' && label[3] === '-') return false;\n const chars = [...label];\n if (markRegexp.test(chars[0])) return false;\n for (let i = 0; i < chars.length; i++) {\n const char = chars[i];\n const code = char.codePointAt(0) as number;\n if (DISALLOWED_EXCEPTIONS.indexOf(code) !== -1) return false;\n if (PVALID_EXCEPTIONS.indexOf(code) !== -1) continue;\n if (char === '-') continue;\n if (code === 0x200c || code === 0x200d) {\n // CONTEXTJ: a joiner is allowed directly after a Virama, and ZWNJ also\n // between joining letters (RFC 5892 A.1 rule 2).\n if (i === 0) return false;\n if (VIRAMA.indexOf(chars[i - 1].codePointAt(0) as number) !== -1) continue;\n if (code !== 0x200c) return false;\n if (!joiningRegexp.test(chars.slice(0, i).join(''))) return false;\n continue;\n }\n // CONTEXTO, one rule per character, each decided by its neighbours.\n if (code === 0x00b7) {\n if (chars[i - 1] !== 'l' || chars[i + 1] !== 'l') return false;\n continue;\n }\n if (code === 0x0375) {\n if (!chars[i + 1] || !greekRegexp.test(chars[i + 1])) return false;\n continue;\n }\n if (code === 0x05f3 || code === 0x05f4) {\n if (!chars[i - 1] || !hebrewRegexp.test(chars[i - 1])) return false;\n continue;\n }\n if (code === 0x30fb) {\n if (!katakanaContextRegexp.test(label)) return false;\n continue;\n }\n if (arabicIndicRegexp.test(char)) {\n if (extendedArabicIndicRegexp.test(label)) return false;\n continue;\n }\n if (extendedArabicIndicRegexp.test(char)) {\n if (arabicIndicRegexp.test(label)) return false;\n continue;\n }\n if (!allowedRegexp.test(char)) return false;\n }\n return true;\n };\n}, isIdnaLabelId);\n\nexport const satisfiesBidi = registerPureFnFactory(function () {\n const rtlRegexp =\n /[\\p{Script=Hebrew}\\p{Script=Arabic}\\p{Script=Syriac}\\p{Script=Thaana}\\p{Script=Nko}\\p{Script=Samaritan}\\p{Script=Mandaic}\\p{Script=Adlam}]/u;\n const letterRegexp = /\\p{L}/u;\n const arabicNumberRegexp = /[٠-٩٫٬]/u;\n const europeanNumberRegexp = /[0-9۰-۹]/u;\n return function _satisfies_bidi(labels: readonly string[]): boolean {\n // A right-to-left LETTER is what makes the whole name a Bidi domain; a\n // digit or sign that merely lives in an RTL script does not.\n const isRtlLetter = (char: string) => rtlRegexp.test(char) && letterRegexp.test(char);\n if (!labels.some((label) => [...label].some(isRtlLetter))) return true;\n for (const label of labels) {\n const chars = [...label];\n if (!letterRegexp.test(chars[0])) return false;\n if (isRtlLetter(chars[0])) {\n // An RTL label may carry European OR Arabic-Indic digits, never both.\n if (arabicNumberRegexp.test(label) && europeanNumberRegexp.test(label)) return false;\n } else if (chars.some(isRtlLetter)) {\n return false;\n }\n }\n return true;\n };\n}, satisfiesBidiId);\n\nexport const isIdnHostname = registerPureFnFactory(function (utl: RTUtils) {\n const punycodeDecodeFn = utl.getPureFn(punycodeDecode) as PunycodeFn;\n const punycodeEncodeFn = utl.getPureFn(punycodeEncode) as PunycodeFn;\n const isIdnaLabelFn = utl.getPureFn(isIdnaLabel) as LabelFn;\n const satisfiesBidiFn = utl.getPureFn(satisfiesBidi) as BidiFn;\n // The wide stops are label separators for an internationalized name only.\n const idnSeparatorRegexp = /[.。.。]/;\n const asciiSeparatorRegexp = /[.]/;\n const asciiLabelRegexp = /^[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?$/;\n // Matched positively rather than as a negated ASCII range: naming the control characters trips\n // oxlint no-control-regex, and \"is there a character above ASCII\" says the same thing.\n const nonAsciiRegexp = /[\\u0080-\\u{10FFFF}]/u;\n // Returns the FAILURE MODE rather than a boolean: '' when the name is good, 'length' (whole name or\n // one label too long, or empty), 'label' (a label breaks the host-name rules), 'punycode' (an `xn--`\n // label does not decode, or is not the canonical spelling of what it decodes to) or 'bidi' (the\n // right-to-left rule across the whole name). That feeds the `errorType` of the emitted format error;\n // validate compares against '' and pays nothing for it.\n return function _is_idn_hostname(value: string, params: {idn?: boolean}): string {\n if (value === '' || value.length > 253) return 'length';\n const labels = value.split(params.idn ? idnSeparatorRegexp : asciiSeparatorRegexp);\n const decoded: string[] = [];\n for (const label of labels) {\n if (label === '') return 'label';\n if (label.length > 3 && label.slice(0, 4).toLowerCase() === 'xn--') {\n if (label.length > 63) return 'length';\n const payload = punycodeDecodeFn(label.slice(4));\n // An A-label must decode, must not decode to something already ASCII,\n // must be the canonical encoding of what it decodes to, and what it\n // decodes to must itself be a valid label.\n if (payload === false || payload === '') return 'punycode';\n if (!nonAsciiRegexp.test(payload)) return 'punycode';\n if (punycodeEncodeFn(payload) !== label.slice(4).toLowerCase()) return 'punycode';\n if (!isIdnaLabelFn(payload)) return 'label';\n decoded.push(payload);\n continue;\n }\n if (asciiLabelRegexp.test(label)) {\n decoded.push(label);\n continue;\n }\n if (!params.idn) return 'label';\n if (!isIdnaLabelFn(label)) return 'label';\n // The 63-octet limit applies to the ENCODED form, so encode to measure.\n const encoded = punycodeEncodeFn(label);\n if (encoded === false) return 'label';\n if (encoded.length + 4 > 63) return 'length';\n decoded.push(label);\n }\n return satisfiesBidiFn(decoded) ? '' : 'bidi';\n };\n}, isIdnHostnameId);\n\n// ############### Email pure fn ###############\n//\n// RFC 5321 addressing, which the EMAIL_PATTERN cannot express: a QUOTED local part may carry spaces,\n// dots in a row, even an `@` of its own, and the domain may be an address literal (`[127.0.0.1]`,\n// `[IPv6:::1]`) instead of a name. Composed from the engines registered above (the IP checks for the\n// literals, the host-name engine for the ordinary domain), so each rule lives in one place.\n// ONE deliberate departure from the RFC's letter: a NAMED domain must be dotted. RFC 5321 permits\n// `joe@tld`, but the practical default everywhere else (our own `Email` pattern, AJV with\n// `mode: 'full'`) requires the dotted TLD, and the two doors to one concept must agree. Address\n// literals are untouched, brackets rather than dots are their shape.\nexport const isEmailAddress = registerPureFnFactory(function (utl: RTUtils) {\n // The three engines return a failure MODE ('' when good), not a boolean.\n const isIPV4Fn = utl.getPureFn(isIPV4) as (ip: string, params: object) => string;\n const isIPV6Fn = utl.getPureFn(isIPV6) as (ip: string, params: object) => string;\n const isIdnHostnameFn = utl.getPureFn(isIdnHostname) as (value: string, params: object) => string;\n // Same label separators the host-name engine splits on, redeclared here because each factory keeps\n // its own tables: the extractor lifts the body alone.\n const idnDotRegexp = /[.。.。]/;\n const asciiAtextRegexp = /^[A-Za-z0-9!#$%&'*+/=?^_`{|}~-]+$/;\n // The internationalized local part widens the repertoire rather than listing it: anything that is\n // not a separator, a space, or a bracket.\n const idnAtextRegexp = /^[^ \\t\\r\\n@.[\\]]+$/u;\n const bareQuoteRegexp = /(^|[^\\\\])\"/;\n function isQuoted(local: string): boolean {\n if (local.length < 2 || local[0] !== '\"' || local[local.length - 1] !== '\"') return false;\n // A bare quote inside would have ended the string early.\n return !bareQuoteRegexp.test(local.substring(1, local.length - 1));\n }\n function isLocalPart(local: string, idn: boolean): boolean {\n if (local === '') return false;\n if (isQuoted(local)) return true;\n const atextRegexp = idn ? idnAtextRegexp : asciiAtextRegexp;\n const parts = local.split('.');\n // A dot separates atoms, so it may not lead, trail, or repeat.\n for (const part of parts) if (part === '' || !atextRegexp.test(part)) return false;\n return true;\n }\n // Returns the FAILURE MODE rather than a boolean, naming WHICH PART is wrong: '' good, 'format' (no\n // '@' at all), 'localPart' (before the last '@'), 'domain' (a named domain after it) or\n // 'addressLiteral' (a bracketed IP literal after it). That feeds the `errorType` of the emitted\n // format error; validate compares against '' and pays nothing for it.\n return function _is_email_address(value: string, params: {idn?: boolean}): string {\n // The LAST '@' separates: a quoted local part may contain one of its own.\n const at = value.lastIndexOf('@');\n if (at === -1) return 'format';\n if (at === 0 || !isLocalPart(value.substring(0, at), params.idn === true)) return 'localPart';\n if (at === value.length - 1) return 'domain';\n const domain = value.substring(at + 1);\n if (domain[0] === '[' && domain[domain.length - 1] === ']') {\n const literal = domain.substring(1, domain.length - 1);\n const literalMode =\n literal.substring(0, 5) === 'IPv6:'\n ? isIPV6Fn(literal.substring(5), {version: 6, allowLocalHost: true})\n : isIPV4Fn(literal, {version: 4, allowLocalHost: false});\n return literalMode === '' ? '' : 'addressLiteral';\n }\n // The dotted-TLD rule (see the factory comment): a bare one-label domain\n // is a valid HOST NAME but not an address's domain.\n if (params.idn === true ? !idnDotRegexp.test(domain) : domain.indexOf('.') === -1) return 'domain';\n return isIdnHostnameFn(domain, {idn: params.idn === true}) === '' ? '' : 'domain';\n };\n}, isEmailAddressId);\n\n// ############### IP pure fns ###############\n//\n// isIPV4 / isIPV6 return the format error's `errorType`, '' when good.\n// 'port' means a bad or missing port under `allowPort`; anything else is 'address'.\n\ninterface IPParams {\n version: 4 | 6 | 'any';\n allowLocalHost?: boolean;\n allowPort?: boolean;\n}\n\ntype IsLocalHostFn = (ip: string) => boolean;\n\n// The HOSTNAME spelling only, and off by default: `allowLocalHost` widens an IP format to also accept\n// the word \"localhost\". The loopback ADDRESSES (`127.0.0.1`, `::1`) are ordinary well-formed addresses\n// the version parsers accept on their own; gating those behind the flag would reject a good `::1`.\nexport const isLocalHost = registerPureFnFactory(function () {\n // Length gate first: this runs on EVERY ip validation, and a case-blind regex call costs more than\n // the answer is worth when the length already says no.\n return function _is_local_host(ip: string): boolean {\n return ip.length === 9 && ip.toLowerCase() === 'localhost';\n };\n}, isLocalHostId);\n\nexport const isIPV4 = registerPureFnFactory(function (utl: RTUtils) {\n const isLocalHostFn = utl.getPureFn(isLocalHost) as IsLocalHostFn;\n // Regex, not `Number()`: coercion accepts `192.168..1`, `0x7f.0.0.1` and trailing whitespace.\n // `\\d` stays ASCII under every flag, which keeps full-width and Bengali digits out.\n // No leading zeros: some parsers read `010` as octal 8.\n const ipv4Regexp = /^(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)$/;\n const portRegexp = /^\\d{1,5}$/;\n return function _is_ip_v4(ip: string, params: IPParams): string {\n let address = ip;\n let portS: string | undefined;\n if (params.allowPort) {\n const parts = ip.split(':');\n if (parts.length > 2) return 'address';\n address = parts[0];\n portS = parts[1];\n }\n // Address before port: a bad address outranks a bad port when both are wrong.\n if (isLocalHostFn(address)) {\n if (params.allowLocalHost !== true) return 'address';\n } else if (!ipv4Regexp.test(address)) return 'address';\n if (params.allowPort && (portS === undefined || !portRegexp.test(portS) || Number(portS) > 65535)) return 'port';\n return '';\n };\n}, isIPV4Id);\n\nexport const isIPV6 = registerPureFnFactory(function (utl: RTUtils) {\n const isLocalHostFn = utl.getPureFn(isLocalHost) as IsLocalHostFn;\n const ipv6PortRegexp = /^\\[([^\\]]+)\\](?::([\\s\\S]*))?$/;\n const portRegexp = /^\\d{1,5}$/;\n // The walkers use index ranges: split-and-regex measured ~2x slower, all allocation and per-group regex cost.\n // isIPv4Quad: same octet rules as isIPV4, no leading zeros.\n function isIPv4Quad(s: string, start: number, end: number): boolean {\n let octets = 0;\n let val = 0;\n let digits = 0;\n for (let i = start; i <= end; i++) {\n if (i === end || s.charCodeAt(i) === 46) {\n if (digits === 0) return false;\n octets++;\n if (octets > 4) return false;\n if (i === end) return octets === 4;\n val = 0;\n digits = 0;\n continue;\n }\n const code = s.charCodeAt(i);\n if (code < 48 || code > 57) return false;\n if (digits === 3 || (digits === 1 && val === 0) || (val = val * 10 + (code - 48)) > 255) return false;\n digits++;\n }\n return false;\n }\n function isHexGroup(s: string, start: number, end: number): boolean {\n const n = end - start;\n if (n < 1 || n > 4) return false;\n for (let i = start; i < end; i++) {\n const code = s.charCodeAt(i);\n if (!((code >= 48 && code <= 57) || (code >= 97 && code <= 102) || (code >= 65 && code <= 70))) return false;\n }\n return true;\n }\n // -1 on a malformed group. A dotted quad counts as two groups, allowed last only (ipv4-mapped).\n function countGroups(s: string, start: number, end: number, allowIPv4Tail: boolean): number {\n if (start >= end) return 0;\n let count = 0;\n let groupStart = start;\n for (let i = start; i <= end; i++) {\n if (i === end || s.charCodeAt(i) === 58) {\n if (allowIPv4Tail && i === end && isIPv4Quad(s, groupStart, i)) count += 2;\n else if (isHexGroup(s, groupStart, i)) count += 1;\n else return -1;\n groupStart = i + 1;\n }\n }\n return count;\n }\n // A lone leading / trailing `:` is not an elision: its run has an empty group and is rejected.\n function isAddress(address: string): boolean {\n const elision = address.indexOf('::');\n if (elision === -1) return countGroups(address, 0, address.length, true) === 8;\n if (address.indexOf('::', elision + 1) !== -1) return false;\n const head = countGroups(address, 0, elision, false);\n const tail = countGroups(address, elision + 2, address.length, true);\n if (head === -1 || tail === -1) return false;\n // The elision stands for at least one group, so the written ones must leave room for it.\n return head + tail <= 7;\n }\n return function _is_ip_v6(ip: string, params: IPParams): string {\n let address = ip;\n let port: string | undefined;\n if (params.allowPort) {\n // With a port the address must be bracketed, `[addr]:port`; a bare `::1` is an address problem.\n const match = ip.match(ipv6PortRegexp);\n if (!match) return 'address';\n address = match[1];\n port = match[2];\n }\n // The address is judged BEFORE the port, same as isIPV4.\n if (isLocalHostFn(address)) {\n if (params.allowLocalHost !== true) return 'address';\n } else if (!isAddress(address)) return 'address';\n if (params.allowPort && (port === undefined || !portRegexp.test(port) || Number(port) > 65535)) return 'port';\n return '';\n };\n}, isIPV6Id);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string-patterns.js","sourceRoot":"","sources":["../../../src/formats/string/string-patterns.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"string-patterns.js","sourceRoot":"","sources":["../../../src/formats/string/string-patterns.ts"],"names":[],"mappings":"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","sourcesContent":["// Centralised regex patterns for the built-in string formats. Each registers its `source` (+ optional\n// `flags`) as STRING literals, which validates the mockSamples against the real JS engine at module\n// load and keeps source/flags/mockSamples as literal TYPES on `typeof X_PATTERN`, so the Go scanner\n// recovers them from the RESOLVED TYPE even through the published `.d.ts`. Not a `/regex/` literal:\n// `typeof /x/` is `RegExp` and `.d.ts` emission erases the initializer, so the source and flags would\n// be invisible to a downstream consumer.\n\nimport {registerFormatPattern} from '../../runtypes/formatPattern.ts';\n\n// Latin domain: each label ≤63 chars, tld 2-63 latin letters.\nexport const DOMAIN_PATTERN = registerFormatPattern({\n source: '^(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\\\\.)+[a-zA-Z]{2,63}$',\n mockSamples: ['mion.io', 'example.com', 'mionkit.io', 'sub.example.co.uk', 'wiki.org'],\n});\n\n// Unicode domain (labels allow \\p{L}\\p{N}); tld stays latin.\nexport const DOMAIN_UNICODE_PATTERN = registerFormatPattern({\n source: '^(?:[\\\\p{L}\\\\p{N}](?:[\\\\p{L}\\\\p{N}-]{0,61}[\\\\p{L}\\\\p{N}])?\\\\.)+[a-zA-Z]{2,63}$',\n flags: 'u',\n mockSamples: ['mion.io', 'example.com', 'mionkit.io', 'sub.example.co.uk', 'wiki.org'],\n});\n\n// Punycode domain: tld may contain digits/hyphens (xn--…).\nexport const DOMAIN_PUNYCODE_PATTERN = registerFormatPattern({\n source: '^(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\\\\.)+[a-zA-Z0-9-]{2,63}$',\n mockSamples: ['xn--e1afmkfd.xn--p1ai', 'example.com'],\n});\n\n// Used by DomainParts.\nexport const DOMAIN_NAME_PATTERN = registerFormatPattern({\n source: '^[a-zA-Z0-9-]+$',\n mockSamples: ['domain', 'mion', 'example', 'wiki', 'mionkit'],\n});\nexport const DOMAIN_TLD_PATTERN = registerFormatPattern({\n source: '^[a-zA-Z]+(\\\\.[a-zA-Z]+)?$',\n mockSamples: ['com', 'org', 'net', 'io'],\n});\n\n// Email (latin-label domains; tld stays latin) + punycode variant.\nexport const EMAIL_PATTERN = registerFormatPattern({\n source: '^[^\\\\s@]{1,64}@(?:[a-zA-Z0-9-]{1,63}\\\\.)+[a-zA-Z]{2,63}$',\n mockSamples: ['john@example.com', 'jane.doe@mion.io', 'contact@test.org'],\n});\nexport const EMAIL_PUNYCODE_PATTERN = registerFormatPattern({\n source: '^[^\\\\s@]{1,64}@(?:[a-zA-Z0-9-]{1,63}\\\\.)+[a-zA-Z0-9-]{2,63}$',\n mockSamples: ['john@example.xn--fiqs8s'],\n});\n\n// URL — http/ftp/ws schemes, http-only, and file:// (unix-style paths).\nexport const URL_PATTERN = registerFormatPattern({\n source: '^(?:https?|ftps?|wss?):\\\\/\\\\/[^\\\\s/$.?#-][^\\\\s]*$',\n flags: 'i',\n mockSamples: ['https://example.com', 'http://mion.io/path', 'ftp://files.example.org'],\n});\nexport const URL_HTTP_PATTERN = registerFormatPattern({\n source: '^https?:\\\\/\\\\/[^\\\\s/$.?#-][^\\\\s]*$',\n flags: 'i',\n mockSamples: ['https://example.com', 'http://mion.io/a/b'],\n});\nexport const URL_FILE_PATTERN = registerFormatPattern({\n source: '^file:\\\\/\\\\/\\\\/?(?:[a-zA-Z]:)?[^\\\\s/$.?#-][^\\\\s]*$',\n flags: 'i',\n mockSamples: ['file:///etc/hosts', 'file:///var/log/app.log'],\n});\n\n// ─────────────── RFC named formats (JSON Schema 2020-12 parity) ───────────────\n// One pattern per named `format`, transcribed from the RFC each keyword names.\n// HOSTNAME_PATTERN is RFC 1123, which DOMAIN_PATTERN is not: a domain wants a dotted name with a TLD,\n// a hostname may be a single label (`localhost`, `db1`), so keeping both leaves `TF.Domain` untouched.\n// STRING_DURATION_PATTERN is RFC 3339 Appendix A, NOT the grammar of the `now±P…` relative bound specs\n// (parseISODuration, internal/cachegen/typefunctions/formats/datetime/bounds.go): RFC 3339 nests its\n// components, never skipping, and forbids the week form from combining with anything, so `P1Y2D` and\n// `PT1H2S` are invalid here while staying perfectly good bound specs. Two grammars on purpose.\n// URI_PATTERN is RFC 3986 and accepts ANY scheme (`mailto:`, `urn:`, `tel:`), where URL_PATTERN above\n// is deliberately the narrow web-address form; the IRI twins add RFC 3987's non-ASCII ranges.\n\nexport const STRING_DURATION_PATTERN = registerFormatPattern({\n source:\n '^P(?:\\\\d+W|(?:\\\\d+Y(?:\\\\d+M(?:\\\\d+D)?)?|\\\\d+M(?:\\\\d+D)?|\\\\d+D)(?:T(?:\\\\d+H(?:\\\\d+M(?:\\\\d+S)?)?|\\\\d+M(?:\\\\d+S)?|\\\\d+S))?|T(?:\\\\d+H(?:\\\\d+M(?:\\\\d+S)?)?|\\\\d+M(?:\\\\d+S)?|\\\\d+S))$',\n mockSamples: ['P4DT12H30M5S', 'P1Y2M3D', 'PT1H30M', 'P2W', 'PT0S'],\n});\nexport const JSON_POINTER_PATTERN = registerFormatPattern({\n source: '^(?:\\\\/(?:[^~\\\\/]|~[01])*)*$',\n mockSamples: ['', '/foo', '/foo/0', '/a~1b', '/c~0d'],\n});\nexport const RELATIVE_JSON_POINTER_PATTERN = registerFormatPattern({\n source: '^(?:0|[1-9][0-9]*)(?:#|(?:\\\\/(?:[^~\\\\/]|~[01])*)*)$',\n mockSamples: ['0', '1/foo', '2#', '0/a~1b'],\n});\nexport const URI_PATTERN = registerFormatPattern({\n source:\n \"^[A-Za-z][A-Za-z0-9+\\\\-.]*:(?:\\\\/\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=:]|%[0-9A-Fa-f]{2})*@)?(?:\\\\[[0-9A-Fa-f:.]+\\\\]|(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=]|%[0-9A-Fa-f]{2})*)(?::[0-9]*)?(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*)?|(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|)(?:\\\\?(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=:@\\\\/?]|%[0-9A-Fa-f]{2})*)?(?:#(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=:@\\\\/?]|%[0-9A-Fa-f]{2})*)?$\",\n flags: 'u',\n mockSamples: ['https://example.com/path', 'mailto:ada@example.com', 'urn:isbn:0451450523', 'ftp://files.example.org/pub'],\n});\nexport const URI_REFERENCE_PATTERN = registerFormatPattern({\n source:\n \"^(?:[A-Za-z][A-Za-z0-9+\\\\-.]*:(?:\\\\/\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=:]|%[0-9A-Fa-f]{2})*@)?(?:\\\\[[0-9A-Fa-f:.]+\\\\]|(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=]|%[0-9A-Fa-f]{2})*)(?::[0-9]*)?(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*)?|(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|)|(?:\\\\/\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=:]|%[0-9A-Fa-f]{2})*@)?(?:\\\\[[0-9A-Fa-f:.]+\\\\]|(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=]|%[0-9A-Fa-f]{2})*)(?::[0-9]*)?(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*)?|(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=@]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=:@]|%[0-9A-Fa-f]{2})*)*|))(?:\\\\?(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=:@\\\\/?]|%[0-9A-Fa-f]{2})*)?(?:#(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=:@\\\\/?]|%[0-9A-Fa-f]{2})*)?$\",\n flags: 'u',\n mockSamples: ['/relative/path', '../up', '#fragment', 'https://example.com'],\n});\nexport const IRI_PATTERN = registerFormatPattern({\n source:\n \"^[A-Za-z][A-Za-z0-9+\\\\-.]*:(?:\\\\/\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=:\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{EFFFD}]|%[0-9A-Fa-f]{2})*@)?(?:\\\\[[0-9A-Fa-f:.]+\\\\]|(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{EFFFD}]|%[0-9A-Fa-f]{2})*)(?::[0-9]*)?(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=:@\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{EFFFD}]|%[0-9A-Fa-f]{2})*)*|\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=:@\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{EFFFD}]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=:@\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{EFFFD}]|%[0-9A-Fa-f]{2})*)*)?|(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=:@\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{EFFFD}]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=:@\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{EFFFD}]|%[0-9A-Fa-f]{2})*)*|)(?:\\\\?(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=:@\\\\/?\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{EFFFD}]|%[0-9A-Fa-f]{2})*)?(?:#(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=:@\\\\/?\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{EFFFD}]|%[0-9A-Fa-f]{2})*)?$\",\n flags: 'u',\n mockSamples: ['https://example.com/päth', 'https://例え.テスト/ページ', 'mailto:ada@example.com'],\n});\nexport const IRI_REFERENCE_PATTERN = registerFormatPattern({\n source:\n \"^(?:[A-Za-z][A-Za-z0-9+\\\\-.]*:(?:\\\\/\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=:\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{EFFFD}]|%[0-9A-Fa-f]{2})*@)?(?:\\\\[[0-9A-Fa-f:.]+\\\\]|(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{EFFFD}]|%[0-9A-Fa-f]{2})*)(?::[0-9]*)?(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=:@\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{EFFFD}]|%[0-9A-Fa-f]{2})*)*|\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=:@\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{EFFFD}]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=:@\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{EFFFD}]|%[0-9A-Fa-f]{2})*)*)?|(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=:@\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{EFFFD}]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=:@\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{EFFFD}]|%[0-9A-Fa-f]{2})*)*|)|(?:\\\\/\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=:\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{EFFFD}]|%[0-9A-Fa-f]{2})*@)?(?:\\\\[[0-9A-Fa-f:.]+\\\\]|(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{EFFFD}]|%[0-9A-Fa-f]{2})*)(?::[0-9]*)?(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=:@\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{EFFFD}]|%[0-9A-Fa-f]{2})*)*|\\\\/(?:(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=:@\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{EFFFD}]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=:@\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{EFFFD}]|%[0-9A-Fa-f]{2})*)*)?|(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=@\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{EFFFD}]|%[0-9A-Fa-f]{2})+(?:\\\\/(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=:@\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{EFFFD}]|%[0-9A-Fa-f]{2})*)*|))(?:\\\\?(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=:@\\\\/?\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{EFFFD}]|%[0-9A-Fa-f]{2})*)?(?:#(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=:@\\\\/?\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{EFFFD}]|%[0-9A-Fa-f]{2})*)?$\",\n flags: 'u',\n mockSamples: ['/relative/päth', '#フラグ', 'https://例え.テスト'],\n});\nexport const URI_TEMPLATE_PATTERN = registerFormatPattern({\n source:\n '^(?:[^\\\\x00-\\\\x20\"\\'<>\\\\\\\\^\\\\x60{|}\\\\x7F]|\\\\{[+#./;?&=,!@|]?(?:[A-Za-z0-9_]|%[0-9A-Fa-f]{2})(?:\\\\.?(?:[A-Za-z0-9_]|%[0-9A-Fa-f]{2}))*(?::[1-9][0-9]{0,3}|\\\\*)?(?:,(?:[A-Za-z0-9_]|%[0-9A-Fa-f]{2})(?:\\\\.?(?:[A-Za-z0-9_]|%[0-9A-Fa-f]{2}))*(?::[1-9][0-9]{0,3}|\\\\*)?)*\\\\})*$',\n mockSamples: ['http://example.com/{id}', 'http://example.com/~{username}/', 'http://example.com/search{?q,lang}', '{/path*}'],\n});\nexport const HOSTNAME_PATTERN = registerFormatPattern({\n source: '^(?=.{1,253}$)[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?(?:\\\\.[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*$',\n mockSamples: ['example.com', 'hostname', 'sub.example.co.uk', 'h0stn4me', 'a--b.com'],\n});\n\n// Default char-class formats (Alpha / AlphaNumeric / Numeric).\nexport const ALPHA_PATTERN = registerFormatPattern({\n source: '^[\\\\p{L}]+$',\n flags: 'u',\n mockSamples: ['abc', 'Hello', 'World'],\n});\nexport const ALPHANUMERIC_PATTERN = registerFormatPattern({\n source: '^[\\\\p{L}\\\\p{N}]+$',\n flags: 'u',\n mockSamples: ['abc123', 'Test42', 'XYZ0'],\n});\nexport const NUMERIC_PATTERN = registerFormatPattern({\n source: '^[\\\\p{N}]+$',\n flags: 'u',\n mockSamples: ['123', '007', '42'],\n});\n\n// contentEncoding patterns, anchored RFC 4648 shapes: the alternation groups enforce the padded block\n// lengths, so a plain regex is the exact check. They are the single source of truth for the\n// Base64/Base32/Base16 brands the schema door references, so `contentEncoding: 'base64'` and\n// `TF.base64()` converge on one id. base16 is case-insensitive by CHARACTER CLASS, not an `i` flag, so\n// its source must stay literal.\nexport const BASE64_PATTERN = registerFormatPattern({\n source: '^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$',\n mockSamples: ['', 'QQ==', 'QUJD', 'SGVsbG8='],\n});\nexport const BASE32_PATTERN = registerFormatPattern({\n source: '^(?:[A-Z2-7]{8})*(?:[A-Z2-7]{2}={6}|[A-Z2-7]{4}={4}|[A-Z2-7]{5}={3}|[A-Z2-7]{7}=)?$',\n mockSamples: ['', 'MY======', 'MZXQ===='],\n});\nexport const BASE16_PATTERN = registerFormatPattern({\n source: '^(?:[0-9A-Fa-f]{2})*$',\n mockSamples: ['', '48656C6C6F', 'DEADBEEF'],\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stringFormats.js","sourceRoot":"","sources":["../../../src/formats/string/stringFormats.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"stringFormats.js","sourceRoot":"","sources":["../../../src/formats/string/stringFormats.ts"],"names":[],"mappings":"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","sourcesContent":["// Consolidated string-format TYPE aliases. Mocking lives in `stringFormatMock.ts` (one switch keyed by\n// format name) and validation is build-time on the Go side, so this file is type-only plus the brand\n// wiring. `TypeFormat` IS imported as a value (not `import type`): the value-level import keeps each\n// brand alias's reflection metadata reachable for tsgo.\n\nimport {TypeFormat} from '../../runtypes/typeFormat.ts';\nimport type {FormatNameOf, FormatParamsOf, FormatBrandNameOf, FormatBrand, NominalBrand} from '../../runtypes/typeFormat.ts';\nimport type {FormatPattern, StringPatternArgs} from '../../runtypes/formatPattern.ts';\n// Type-only on purpose: a value import would ship the whole pattern table to every browser.\n// The Go scanner recovers {source, flags, mockSamples} from each const's literal type.\nimport type {\n ALPHA_PATTERN,\n ALPHANUMERIC_PATTERN,\n NUMERIC_PATTERN,\n DOMAIN_PATTERN,\n DOMAIN_UNICODE_PATTERN,\n DOMAIN_PUNYCODE_PATTERN,\n DOMAIN_NAME_PATTERN,\n DOMAIN_TLD_PATTERN,\n EMAIL_PATTERN,\n EMAIL_PUNYCODE_PATTERN,\n URL_PATTERN,\n URL_HTTP_PATTERN,\n URL_FILE_PATTERN,\n BASE64_PATTERN,\n BASE32_PATTERN,\n BASE16_PATTERN,\n HOSTNAME_PATTERN,\n STRING_DURATION_PATTERN,\n JSON_POINTER_PATTERN,\n RELATIVE_JSON_POINTER_PATTERN,\n URI_PATTERN,\n URI_REFERENCE_PATTERN,\n IRI_PATTERN,\n IRI_REFERENCE_PATTERN,\n URI_TEMPLATE_PATTERN,\n} from './string-patterns.ts';\nimport {builderResult, lastInjectedId, presetBuilder} from '../../runtypes/builderCore.ts';\nimport type {RunType} from '../../runtypes/types.ts';\nimport type {BrandArg, ExactParams} from '../../runtypes/builderTypes.ts';\nimport type {InjectRunTypeId, CompTimeArgs} from '../../markers.ts';\nimport type {\n StringDate,\n StringTime,\n StringDateTime,\n DateParams,\n TimeParams,\n DateTimeParams,\n} from '../datetime/stringDateTimeFormats.ts';\n\n// ─────────────────────────── StringFormat ───────────────────────────\n\n// The regex a string format validates against: a `registerFormatPattern(...)` result (which validates\n// its samples at load) or an inline `{source, flags?, mockSamples?, message?}` literal (the\n// `StringPatternArgs` shape) the Go scanner recovers directly from the property. `mockSamples` are\n// optional, a pattern without them gets a deterministic pool generated from the regex at build time\n// (declare your own to curate the values, or when the build reports it cannot generate one):\n// const slug = registerFormatPattern({source: '^[a-z-]+$', mockSamples: ['a-b']});\n// type Slug = String<{pattern: typeof slug}>;\n// type Digits = String<{pattern: {source: '^[0-9]+$'}}>;\n// A bare `/regex/` VALUE stays deliberately NOT accepted: `typeof /x/` is plain RegExp, so nothing\n// about it survives as literal types for the scanner, and a published .d.ts cannot carry a regex VALUE\n// for `typeof` recovery.\nexport type PatternParam = FormatPattern | StringPatternArgs;\n\n// Canonical valid values for the mock generator: a list, or (for char-class params) sample chars.\nexport type Samples = string | readonly string[];\n\n// allowedChars: the value must consist entirely of `val`'s characters.\nexport interface AllowedCharsParam {\n val: string;\n ignoreCase?: boolean;\n errorMessage?: string;\n desc?: string;\n mockSamples?: Samples;\n}\n\n// disallowedChars: the value must contain NONE of `val`'s characters. A\n// negative constraint can't be reversed, so `mockSamples` is required.\nexport interface DisallowedCharsParam {\n val: string;\n ignoreCase?: boolean;\n errorMessage?: string;\n desc?: string;\n mockSamples: string;\n}\n\n// allowedValues: the value must be exactly one of `val` (enum-like).\nexport interface AllowedValuesParam {\n val: readonly string[];\n ignoreCase?: boolean;\n errorMessage?: string;\n desc?: string;\n mockSamples?: Samples;\n}\n\n// disallowedValues: the value must be none of `val`. mockSamples required.\nexport interface DisallowedValuesParam {\n val: readonly string[];\n ignoreCase?: boolean;\n errorMessage?: string;\n desc?: string;\n mockSamples: Samples;\n}\n\n// ─────────────────────────── Transforms ────────────────────────────\n//\n// A format's value REWRITE lives under ONE `transform` key in its params, so a reader can tell which\n// part checks the value and which part changes it. It is applied only by `createFormatTransformFn<T>`\n// and mion's `sanitizeParams` lane, never by validate / parse / encode / decode. The wrapper type\n// `Transform<T, P>` below is the other spelling of the same key.\n\n/** The rewrites every string-family format may declare, applied in this order: replace, replaceAll,\n * trim, lowercase, uppercase, capitalize. The replacements go first so a second pass (mion sanitizes\n * on the client AND the server) finds nothing left to trim. **/\nexport interface StringTransformParams {\n trim?: boolean;\n lowercase?: boolean;\n uppercase?: boolean;\n capitalize?: boolean;\n /** The FIRST match of `searchValue` becomes `replaceValue`. Not idempotent with several matches, so\n * prefer `replaceAll` for a value sanitized on both the client and the server. **/\n replace?: {searchValue: string; replaceValue: string};\n /** Every match of `searchValue` becomes `replaceValue`. **/\n replaceAll?: {searchValue: string; replaceValue: string};\n}\n\n/** `CreditCard`'s bag: the string rewrites plus `stripSeparators`, which\n * rewrites a grouped number (`4111 1111 1111 1111`) to bare digits. **/\nexport interface CreditCardTransformParams extends StringTransformParams {\n stripSeparators?: boolean;\n}\n\n/** Which transform bag each string-family format takes. A format missing here (uuid, the string date /\n * time formats) takes none, so `Transform<UUIDv4, P>` is a compile error. **/\nexport interface TransformParamsByFormat {\n stringFormat: StringTransformParams;\n email: StringTransformParams;\n domain: StringTransformParams;\n url: StringTransformParams;\n ip: StringTransformParams;\n creditCard: CreditCardTransformParams;\n}\n\n/** The transform params `T` accepts: its format's bag, `StringTransformParams`\n * for a plain `string`, `never` for a format that has no transform. **/\nexport type TransformParamsOf<T> = [FormatNameOf<T>] extends [never]\n ? StringTransformParams\n : FormatNameOf<T> extends keyof TransformParamsByFormat\n ? TransformParamsByFormat[FormatNameOf<T>]\n : never;\n\n// StringParams — the wire-serialisable params shape for String.\n// Cross-param invariants are validated build-time in Go (format-invalid-params).\nexport interface StringParams {\n maxLength?: number;\n minLength?: number;\n length?: number;\n pattern?: PatternParam;\n allowedChars?: AllowedCharsParam;\n disallowedChars?: DisallowedCharsParam;\n allowedValues?: AllowedValuesParam;\n disallowedValues?: DisallowedValuesParam;\n mockSamples?: readonly string[];\n // JSON Schema content keywords: `contentEncoding` says how the string is encoded, `contentMediaType`\n // what the DECODED content is, so with both the value must decode AND parse. Ordinary string\n // keywords, there is no separate content FORMAT.\n contentEncoding?: 'base64' | 'base32' | 'base16';\n contentMediaType?: 'application/json';\n // Applied only by `createFormatTransformFn<T>` and mion's `sanitizeParams`, NOT by validate.\n transform?: StringTransformParams;\n}\n\n// The value-first `string()` builder's params: `pattern` typed as the plain `StringPatternArgs`\n// literal, to which a `registerFormatPattern(...)` value is assignable too. Both forms keep\n// source/flags/mockSamples as literal TYPES, so the builder recovers them faithfully and converges on\n// the same id as the type-first `String<{pattern: typeof x}>` form.\nexport type StringParamsValueFirst = Omit<StringParams, 'pattern'> & {pattern?: StringPatternArgs};\n\n// The branded string alias users annotate with, e.g. `String<{maxLength: 32}>`.\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport type String<P extends StringParams = {}, BrandName extends string = never> = TypeFormat<\n string,\n 'stringFormat',\n P,\n BrandName\n>;\n\n// Alpha / AlphaNumeric / Numeric reference the registered char-class patterns by `typeof`\n// (see ./string-patterns.ts).\n/* eslint-disable @typescript-eslint/no-empty-object-type */\nexport type Alpha<P extends Override<StringParams, 'pattern'> = {}> = PresetFormat<\n 'stringFormat',\n {pattern: typeof ALPHA_PATTERN},\n P\n>;\nexport type AlphaNumeric<P extends Override<StringParams, 'pattern'> = {}> = PresetFormat<\n 'stringFormat',\n {pattern: typeof ALPHANUMERIC_PATTERN},\n P\n>;\nexport type Numeric<P extends Override<StringParams, 'pattern'> = {}> = PresetFormat<\n 'stringFormat',\n {pattern: typeof NUMERIC_PATTERN},\n P\n>;\n// The case presets pin `transform`: a caller's `transform` would REPLACE the whole block (params merge\n// key by key), so a combined rewrite is spelled `String<{transform: {lowercase: true; trim: true}}>`.\nexport type Lowercase<P extends Override<StringParams, 'transform'> = {}> = PresetFormat<\n 'stringFormat',\n {transform: {lowercase: true}},\n P\n>;\nexport type Uppercase<P extends Override<StringParams, 'transform'> = {}> = PresetFormat<\n 'stringFormat',\n {transform: {uppercase: true}},\n P\n>;\nexport type Capitalize<P extends Override<StringParams, 'transform'> = {}> = PresetFormat<\n 'stringFormat',\n {transform: {capitalize: true}},\n P\n>;\n// The type-first spelling of JSON Schema `contentEncoding`: each rides the registered RFC 4648 pattern\n// so the door's `contentEncoding: 'base64'` and `TF.base64()` converge.\nexport type Base64<P extends Override<StringParams, 'pattern'> = {}> = PresetFormat<\n 'stringFormat',\n {pattern: typeof BASE64_PATTERN},\n P\n>;\nexport type Base32<P extends Override<StringParams, 'pattern'> = {}> = PresetFormat<\n 'stringFormat',\n {pattern: typeof BASE32_PATTERN},\n P\n>;\nexport type Base16<P extends Override<StringParams, 'pattern'> = {}> = PresetFormat<\n 'stringFormat',\n {pattern: typeof BASE16_PATTERN},\n P\n>;\n/* eslint-enable @typescript-eslint/no-empty-object-type */\n\n// ─────────────────────────── JsonContent ────────────────────────────\n//\n// A string whose content parses as JSON, the type-first spelling of JSON Schema\n// `contentMediaType: 'application/json'` (optionally behind `contentEncoding: 'base64'`). NOT a format\n// of its own: these are `String` aliases over the two content keywords, mirroring the schema\n// translation's lowering so the two authoring modes converge. `mockSamples` are id-irrelevant (they\n// feed createMockDataFn only) and span what a JSON payload actually looks like, escapes and non-ASCII\n// text included, so a mock consumer meets real escaping instead of only `{}`.\ntype DEFAULT_JSON_CONTENT_PARAMS = {\n contentMediaType: 'application/json';\n mockSamples: readonly [\n '{}',\n '[]',\n 'null',\n '{\"id\":42,\"name\":\"Ada Lovelace\",\"active\":true,\"score\":-1500}',\n '{\"user\":{\"id\":7,\"roles\":[\"admin\",\"editor\"],\"meta\":{\"seen\":null}}}',\n '[{\"sku\":\"A-1\",\"qty\":2},{\"sku\":\"B-7\",\"qty\":11}]',\n '{\"text\":\"quote \\\\\" backslash \\\\\\\\ newline \\\\n\",\"unicode\":\"héllo ✓\"}',\n ];\n};\n// The same span of documents, base64-encoded; the last is multi-byte UTF-8, so it exercises the decode\n// step rather than just the parse step.\ntype DEFAULT_JSON_CONTENT_BASE64_PARAMS = {\n contentEncoding: 'base64';\n contentMediaType: 'application/json';\n mockSamples: readonly [\n 'e30=',\n 'W10=',\n 'eyJpZCI6NDIsIm5hbWUiOiJBZGEgTG92ZWxhY2UiLCJhY3RpdmUiOnRydWV9',\n 'eyJ1c2VyIjp7ImlkIjo3LCJyb2xlcyI6WyJhZG1pbiIsImVkaXRvciJdfX0=',\n 'W3sic2t1IjoiQS0xIiwicXR5IjoyfSx7InNrdSI6IkItNyIsInF0eSI6MTF9XQ==',\n 'eyJ1bmljb2RlIjoiaMOpbGxvIOKckyIsIm5pbCI6bnVsbH0=',\n ];\n};\n/* eslint-disable @typescript-eslint/no-empty-object-type */\nexport type JsonContent<P extends Override<StringParams> = {}> = PresetFormat<'stringFormat', DEFAULT_JSON_CONTENT_PARAMS, P>;\nexport type JsonContentBase64<P extends Override<StringParams> = {}> = PresetFormat<\n 'stringFormat',\n DEFAULT_JSON_CONTENT_BASE64_PARAMS,\n P\n>;\n/* eslint-enable @typescript-eslint/no-empty-object-type */\n\n// ─────────────────────────────── UUID ───────────────────────────────\n\nexport interface UUIDParams {\n /** Which UUID version the validator pins. `'4'` / `'7'` additionally require that exact digit in the\n * version slot (index 14). `'any'` does NOT skip validation: it checks the full RFC 9562 string\n * layout (36 characters, hyphens at 8/13/18/23, a hex digit everywhere else) and reads the version\n * slot as an ordinary hex digit, which is what JSON Schema `format: 'uuid'` means: the RFC's grammar\n * carries no version constraint, and §5.9 / §5.10 make the Nil and Max UUIDs valid, whose version\n * slots name no version. Defaulting the bare `UUID` to a pinned version would REJECT valid UUIDs,\n * every v1 and v7 value included. Pin a version only to exclude the others. **/\n version: '4' | '7' | 'any';\n}\n// Version-agnostic UUID: any RFC 9562 version (UUIDParams.version says exactly what is checked).\nexport type UUID = TypeFormat<string, 'uuid', {version: 'any'}, never>;\nexport type UUIDv4 = TypeFormat<string, 'uuid', {version: '4'}, never>;\nexport type UUIDv7 = TypeFormat<string, 'uuid', {version: '7'}, never>;\n\n// ──────────────────── Date / Time / DateTime ────────────────────────\n// The string date/time/dateTime formats live in `../datetime/stringDateTimeFormats.ts`, sharing the\n// min/max bound params with the native `Date` family, and are re-exported via `../index.ts`.\n\n// ──────────────────────────────── IP ────────────────────────────────\n\n/** Set ONLY under `allowPort`: `'port'` for a good address whose port is missing, not digits or over 65535,\n * else `'address'`. Under `version: 'any'` a port complaint from either parser wins. **/\nexport type IpErrorType = 'address' | 'port';\n\n/** Params for the `ip` family. With `allowPort` a failing value reports WHICH\n * half failed in the error's `errorType`, one of `IpErrorType`. **/\nexport interface IPParams {\n version: 4 | 6 | 'any';\n allowLocalHost?: boolean;\n /** Requires a port after the address: `1.2.3.4:80`, `[::1]:80`. **/\n allowPort?: boolean;\n /** Value rewrite (`{lowercase: true}` canonicalises IPv6 hex digits). Off by default. **/\n transform?: StringTransformParams;\n}\n// The version-pinned aliases pin `version`: `ipv4({version: 6})` would just be `ipv6()` wearing the\n// wrong name. `allowLocalHost` is OFF by default on every IP preset, since these formats describe an\n// ADDRESS, so the hostname spelling \"localhost\" is opt-in rather than silently accepted. It never gates\n// the loopback ADDRESSES, `127.0.0.1` and `::1` are well-formed and pass on their own. That is also\n// what JSON Schema's `ipv4` / `ipv6` format keywords mean, so the schema door needs no override.\ntype DEFAULT_IP_PARAMS = {version: 'any'; allowLocalHost: false};\ntype DEFAULT_IPV4_PARAMS = {version: 4; allowLocalHost: false};\ntype DEFAULT_IPV6_PARAMS = {version: 6; allowLocalHost: false};\ntype DEFAULT_IP_PORT_PARAMS = {version: 'any'; allowLocalHost: false; allowPort: true};\ntype DEFAULT_IPV4_PORT_PARAMS = {version: 4; allowLocalHost: false; allowPort: true};\ntype DEFAULT_IPV6_PORT_PARAMS = {version: 6; allowLocalHost: false; allowPort: true};\n/* eslint-disable @typescript-eslint/no-empty-object-type */\nexport type IP<P extends Override<IPParams> = {}> = PresetFormat<'ip', DEFAULT_IP_PARAMS, P>;\nexport type IPv4<P extends Override<IPParams, 'version'> = {}> = PresetFormat<'ip', DEFAULT_IPV4_PARAMS, P>;\nexport type IPv6<P extends Override<IPParams, 'version'> = {}> = PresetFormat<'ip', DEFAULT_IPV6_PARAMS, P>;\nexport type IPWithPort<P extends Override<IPParams, 'allowPort'> = {}> = PresetFormat<'ip', DEFAULT_IP_PORT_PARAMS, P>;\nexport type IPv4WithPort<P extends Override<IPParams, 'version' | 'allowPort'> = {}> = PresetFormat<\n 'ip',\n DEFAULT_IPV4_PORT_PARAMS,\n P\n>;\nexport type IPv6WithPort<P extends Override<IPParams, 'version' | 'allowPort'> = {}> = PresetFormat<\n 'ip',\n DEFAULT_IPV6_PORT_PARAMS,\n P\n>;\n/* eslint-enable @typescript-eslint/no-empty-object-type */\n\n// ────────────────────────────── Domain ──────────────────────────────\n\n// The sub-validators a `names` label or the `tld` accepts.\nexport interface DomainPartParams {\n maxLength?: number;\n minLength?: number;\n pattern?: PatternParam | {source: string; flags?: string};\n allowedValues?: AllowedValuesParam;\n disallowedValues?: DisallowedValuesParam;\n mockSamples?: Samples;\n}\n\n/** Which rule a `domain` value broke, in `TypeFormatError.errorType`; the pattern path (`Domain`) never sets it.\n * IDNA path (`Hostname` / `IdnHostname`): 'label', 'punycode' (undecodable or non-canonical `xn--`), 'bidi', 'length'.\n * Parts path (`DomainParts`): 'label' or 'tld'; whole-name bounds leave it unset, `formatPath` names them. **/\nexport type DomainErrorType = 'label' | 'tld' | 'punycode' | 'bidi' | 'length';\n\n// The quick road: one regex plus whole-value checks; the split keys live on `DomainPartsParams` only.\n/** A failure names the part in `errorType`, see `DomainErrorType`. **/\nexport interface DomainParams {\n maxLength?: number;\n minLength?: number;\n pattern?: PatternParam | {val: RegExp};\n mockSamples?: readonly string[];\n // Mocks draw from it first: a synthesized domain would fail its own validator.\n allowedValues?: AllowedValuesParam;\n /** Value rewrite (`{lowercase: true}` is the usual one). Off by default. **/\n transform?: StringTransformParams;\n}\n\n// The parts road: split on '.' and check each label and the tld. Never with `pattern` (Go format-invalid-params).\nexport interface DomainPartsParams extends DomainParams {\n maxParts?: number;\n minParts?: number;\n names?: DomainPartParams;\n tld?: DomainPartParams;\n}\n\ntype DEFAULT_DOMAIN_PARAMS = {pattern: typeof DOMAIN_PATTERN; maxLength: 253; minLength: 5};\ntype DEFAULT_DOMAIN_UNICODE_PARAMS = {pattern: typeof DOMAIN_UNICODE_PATTERN; maxLength: 253; minLength: 5};\ntype DEFAULT_DOMAIN_PUNYCODE_PARAMS = {pattern: typeof DOMAIN_PUNYCODE_PATTERN; maxLength: 253; minLength: 5};\n/* eslint-disable @typescript-eslint/no-empty-object-type */\n// `Domain` leaves `pattern` overridable on purpose (a caller's own domain regex is a supported use);\n// the script-specific variants pin it, since replacing it is exactly `Domain<{pattern}>`.\nexport type Domain<P extends Override<DomainParams> = {}> = PresetFormat<'domain', DEFAULT_DOMAIN_PARAMS, P>;\nexport type DomainUnicode<P extends Override<DomainParams, 'pattern'> = {}> = PresetFormat<\n 'domain',\n DEFAULT_DOMAIN_UNICODE_PARAMS,\n P\n>;\nexport type DomainPunycode<P extends Override<DomainParams, 'pattern'> = {}> = PresetFormat<\n 'domain',\n DEFAULT_DOMAIN_PUNYCODE_PARAMS,\n P\n>;\n/* eslint-enable @typescript-eslint/no-empty-object-type */\n\nexport type DEFAULT_DOMAIN_PARTS_PARAMS = {\n maxParts: 6;\n minParts: 2;\n maxLength: 253;\n minLength: 5;\n names: {maxLength: 63; minLength: 2; pattern: typeof DOMAIN_NAME_PATTERN};\n tld: {maxLength: 12; minLength: 2; pattern: typeof DOMAIN_TLD_PATTERN};\n};\n// Rejects hyphen-edge labels. names/tld ARE the format, so only those two stay pinned.\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport type DomainParts<P extends Override<DomainPartsParams, 'names' | 'tld'> = {}> = PresetFormat<\n 'domain',\n DEFAULT_DOMAIN_PARTS_PARAMS,\n P\n>;\n\n// A defaults bag with an override P layered on top (P's keys win), which is what lets a partial\n// override keep the built-in pattern + bounds: `Email<{maxLength: 100}>` replaces only `maxLength`.\n// The schema door rides the SAME merge, so the two authoring modes converge on one id. Fast path\n// FIRST: with no override the defaults bag is handed back untouched, so a bare preset keeps the id it\n// had before it became overridable and costs 10 instantiations instead of 13, which the whole JSON\n// Schema format-lookup table would otherwise pay per row. The merge itself is ONE mapped pass over the\n// combined key set: 15 instantiations per override against the 19 of `Simplify<Omit<Defaults, keyof P>\n// & P>`.\ntype FormatDefaults<Defaults extends object, P> = [keyof P] extends [never]\n ? Defaults\n : {[K in keyof Defaults | keyof P]: K extends keyof P ? P[K] : K extends keyof Defaults ? Defaults[K] : never};\n\n/** A predefined string format: the Go format `Tag`, the params the preset bakes in, and whatever the\n * caller layers on top. EVERY named string format below is spelled through this, so \"which keywords\n * can this one override?\" has one answer, all of them, instead of a different answer per name. **/\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport type PresetFormat<Tag extends string, Defaults extends object, P = {}> = TypeFormat<\n string,\n Tag,\n FormatDefaults<Defaults, P>,\n never\n>;\n\n/** A preset's params minus the pinned key(s) that define it, so `stringUrlHttp({pattern})` fails at the call site. **/\n// Instantiated per call site (it rides every preset alias's generic bound), so keep it to one pass over Params.\nexport type Override<Params, Pinned extends keyof Params = never> = Omit<Partial<Params>, Pinned>;\n\n/** `T` with its value rewrite set to `P`, the wrapper spelling of the nested `transform` param:\n * `Transform<Email, {lowercase: true}>` IS `Email<{transform: {lowercase: true}}>` (same base, same\n * format name, params merged, the same nominal brand if `T` carried one), so both spellings resolve\n * to one structural id. Over a plain `string` it is `String<{transform: P}>`, and it REPLACES any\n * `transform` `T` declared: `Transform<Lowercase, {trim: true}>` trims and no longer lowercases. **/\nexport type Transform<T extends string, P extends TransformParamsOf<T>> = [FormatNameOf<T>] extends [never]\n ? TypeFormat<string, 'stringFormat', {transform: P}, never>\n : TypeFormat<string, FormatNameOf<T>, FormatDefaults<FormatParamsOf<T> & object, {transform: P}>, FormatBrandNameOf<T>>;\n\n// ─────────────────────────────── Email ──────────────────────────────\n\n/** Which part of an `email` is wrong, in `TypeFormatError.errorType`; the pattern path (`Email`) never sets it.\n * RFC path (`EmailAddress` / `IdnEmail`): 'format' (no `@`), 'localPart', 'domain', 'addressLiteral', 'length'.\n * Parts path (`EmailParts`): 'format' or 'localPart'; the domain half reports as `domain` with its own `DomainErrorType`.\n * Whole-address bounds leave it unset, `formatPath` names them. **/\nexport type EmailErrorType = 'format' | 'localPart' | 'domain' | 'addressLiteral' | 'length';\n\n// The quick road: one regex, or the RFC presets' `emailRfc` engine; the split keys live on `EmailPartsParams` only.\n/** A failure names the part in `errorType`, see `EmailErrorType`. **/\nexport interface EmailParams {\n maxLength?: number;\n minLength?: number;\n pattern?: PatternParam | {val: RegExp};\n mockSamples?: readonly string[];\n /** Usually `{trim: true, lowercase: true}`; off by default since the RFC makes the local part case-sensitive. **/\n transform?: StringTransformParams;\n}\n\n// The parts road: split on the last '@'; the domain half may split again.\nexport interface EmailPartsParams extends EmailParams {\n localPart?: StringParams;\n domain?: DomainPartsParams;\n}\n\ntype DEFAULT_EMAIL_PARAMS = {pattern: typeof EMAIL_PATTERN; maxLength: 254; minLength: 7};\n// The RFC 5321 pair: `TF.Email` above is the everyday shape (a dotted domain, a plain local part),\n// while these two are what the JSON Schema keywords mean and accept the whole grammar, quoted local\n// parts and address literals included, plus any script for the idn twin.\ntype DEFAULT_EMAIL_ADDRESS_PARAMS = {\n emailRfc: 'ascii';\n maxLength: 254;\n mockSamples: ['joe.bloggs@example.com', 'jane@mion.io', 'contact@test.org'];\n};\ntype DEFAULT_IDN_EMAIL_PARAMS = {\n emailRfc: 'unicode';\n maxLength: 254;\n mockSamples: ['joe.bloggs@example.com', 'δοκιμή@example.com'];\n};\ntype DEFAULT_EMAIL_PUNYCODE_PARAMS = {pattern: typeof EMAIL_PUNYCODE_PATTERN; maxLength: 254; minLength: 7};\n/* eslint-disable @typescript-eslint/no-empty-object-type */\nexport type Email<P extends Override<EmailParams> = {}> = PresetFormat<'email', DEFAULT_EMAIL_PARAMS, P>;\n/** Full RFC 5321 address, what `format: 'email'` means: quoted local parts and address literals pass.\n * Like `Email`, a named domain must be dotted (`joe@tld` is RFC-legal but rejected). **/\nexport type EmailAddress<P extends Override<EmailParams, 'pattern'> = {}> = PresetFormat<\n 'email',\n DEFAULT_EMAIL_ADDRESS_PARAMS,\n P\n>;\n/** The same grammar in any script, what `format: 'idn-email'` means. **/\nexport type IdnEmail<P extends Override<EmailParams, 'pattern'> = {}> = PresetFormat<'email', DEFAULT_IDN_EMAIL_PARAMS, P>;\nexport type EmailPunycode<P extends Override<EmailParams, 'pattern'> = {}> = PresetFormat<\n 'email',\n DEFAULT_EMAIL_PUNYCODE_PARAMS,\n P\n>;\n/* eslint-enable @typescript-eslint/no-empty-object-type */\n\nexport type DEFAULT_EMAIL_PARTS_PARAMS = {\n maxLength: 254;\n localPart: {\n maxLength: 64;\n minLength: 1;\n disallowedChars: {\n val: ' ()<>[]:;\\\\,{}|+@';\n errorMessage: 'Invalid characters in email local part';\n mockSamples: 'abcdefghijklmnopqrstuvwxyz0123456789._-';\n };\n };\n domain: DEFAULT_DOMAIN_PARTS_PARAMS;\n};\n// The split IS the format, so both halves stay pinned.\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport type EmailParts<P extends Override<EmailPartsParams, 'localPart' | 'domain'> = {}> = PresetFormat<\n 'email',\n DEFAULT_EMAIL_PARTS_PARAMS,\n P\n>;\n\n// ──────────────────────────────── URL ───────────────────────────────\n\nexport interface UrlParams {\n maxLength?: number;\n minLength?: number;\n pattern?: PatternParam | {val: RegExp};\n mockSamples?: readonly string[];\n /** Value rewrite. Off by default: a URL path is case-sensitive, so a blanket\n * `lowercase` is a field's decision. **/\n transform?: StringTransformParams;\n}\n\n// ── JSON Schema named formats ──\n// Each is the shape its `format` keyword lowers to, riding the existing 'url' / 'stringFormat'\n// emitters (a pattern plus optional length bounds is all they need), so no new Go emitter with them.\ntype DEFAULT_URI_PARAMS = {pattern: typeof URI_PATTERN};\ntype DEFAULT_URI_REFERENCE_PARAMS = {pattern: typeof URI_REFERENCE_PATTERN};\ntype DEFAULT_IRI_PARAMS = {pattern: typeof IRI_PATTERN};\ntype DEFAULT_IRI_REFERENCE_PARAMS = {pattern: typeof IRI_REFERENCE_PATTERN};\ntype DEFAULT_URI_TEMPLATE_PARAMS = {pattern: typeof URI_TEMPLATE_PATTERN};\n// `idna` routes the check to the pure-fn engine instead of a pattern: an `xn--` label has to be\n// decoded before its characters can be judged. 'ascii' is the RFC 1123 host name, 'unicode' also\n// accepts the U-label spelling. HOSTNAME_PATTERN stays on the ASCII preset for its mock pool.\ntype DEFAULT_HOSTNAME_PARAMS = {pattern: typeof HOSTNAME_PATTERN; maxLength: 253; idna: 'ascii'};\ntype DEFAULT_IDN_HOSTNAME_PARAMS = {maxLength: 253; idna: 'unicode'};\ntype DEFAULT_STRING_DURATION_PARAMS = {pattern: typeof STRING_DURATION_PATTERN};\n// No pattern: whether a string compiles as a regular expression is a question only the engine can\n// answer, so the check is a pure fn and the pool is declared (nothing can be generated from it).\ntype DEFAULT_REGEX_PARAMS = {\n isRegex: true;\n mockSamples: ['^[a-z]+$', '\\\\d{4}-\\\\d{2}-\\\\d{2}', '(foo|bar)+', '^.*$'];\n};\ntype DEFAULT_JSON_POINTER_PARAMS = {pattern: typeof JSON_POINTER_PATTERN};\ntype DEFAULT_RELATIVE_JSON_POINTER_PARAMS = {pattern: typeof RELATIVE_JSON_POINTER_PATTERN};\n\ntype DEFAULT_URL_PARAMS = {pattern: typeof URL_PATTERN; maxLength: 2048};\ntype DEFAULT_URL_HTTP_PARAMS = {pattern: typeof URL_HTTP_PATTERN; maxLength: 2048};\ntype DEFAULT_URL_FILE_PARAMS = {pattern: typeof URL_FILE_PATTERN; maxLength: 2048};\n/* eslint-disable @typescript-eslint/no-empty-object-type */\nexport type StringUrl<P extends Override<UrlParams> = {}> = PresetFormat<'url', DEFAULT_URL_PARAMS, P>;\nexport type StringUrlHttp<P extends Override<UrlParams, 'pattern'> = {}> = PresetFormat<'url', DEFAULT_URL_HTTP_PARAMS, P>;\nexport type StringUrlFile<P extends Override<UrlParams, 'pattern'> = {}> = PresetFormat<'url', DEFAULT_URL_FILE_PARAMS, P>;\n\n// ───────────────────────────── URL objects ──────────────────────────\n// A URL object travels as its href, rebuilt with `new URL()`; length and pattern params check the href.\n// No `transform`: a URL object is never rewritten.\n\n/** Read off `globalThis` so the published `.d.ts` needs neither `dom` nor `@types/node`; `never` without them. **/\ntype UrlInstance = typeof globalThis extends {URL: {prototype: infer I}} ? I : never;\nexport type UrlObjectParams = Omit<UrlParams, 'transform'>;\n/** The brand is written inline, not through `TypeFormat`, so the root `TypeFormatBase` never names `URL`. **/\nexport type UrlObjectFormat<P extends object, BrandName extends string = never> = UrlInstance &\n FormatBrand<'nativeUrl', P> &\n ([BrandName] extends [never] ? unknown : NominalBrand<BrandName>);\n/** A URL object, `Url<{maxLength: 200}>`; no pattern by default, so any URL `new URL()` accepts passes. **/\nexport type Url<P extends UrlObjectParams = {}, BrandName extends string = never> = UrlObjectFormat<P, BrandName>;\n/** An HTTP(S) URL object, the `StringUrlHttp` defaults over its href. **/\nexport type UrlHttp<P extends Override<UrlObjectParams, 'pattern'> = {}> = UrlObjectFormat<\n FormatDefaults<DEFAULT_URL_HTTP_PARAMS, P>\n>;\n/** A file:// URL object, the `StringUrlFile` defaults over its href. **/\nexport type UrlFile<P extends Override<UrlObjectParams, 'pattern'> = {}> = UrlObjectFormat<\n FormatDefaults<DEFAULT_URL_FILE_PARAMS, P>\n>;\n\n/** Any RFC 3986 URI (`mailto:`, `urn:`, `tel:`), what `format: 'uri'` means; `StringUrl` is web addresses only. **/\nexport type Uri<P extends Override<UrlParams, 'pattern'> = {}> = PresetFormat<'url', DEFAULT_URI_PARAMS, P>;\n/** An RFC 3986 URI reference: a URI, or a relative one like `../a` or `#frag`. **/\nexport type UriReference<P extends Override<UrlParams, 'pattern'> = {}> = PresetFormat<'url', DEFAULT_URI_REFERENCE_PARAMS, P>;\n/** RFC 3987 IRI — a URI whose characters may be non-ASCII. **/\nexport type Iri<P extends Override<UrlParams, 'pattern'> = {}> = PresetFormat<'url', DEFAULT_IRI_PARAMS, P>;\n/** An IRI reference: an IRI, or a relative one. **/\nexport type IriReference<P extends Override<UrlParams, 'pattern'> = {}> = PresetFormat<'url', DEFAULT_IRI_REFERENCE_PARAMS, P>;\n/** RFC 6570 URI template — a URI with `{…}` expressions left to fill in. **/\nexport type UriTemplate<P extends Override<UrlParams, 'pattern'> = {}> = PresetFormat<'url', DEFAULT_URI_TEMPLATE_PARAMS, P>;\n/** RFC 1123 host name. Unlike `Domain` a single label is fine (`localhost`),\n * since a host name need not be a dotted public name. An `xn--` label is\n * decoded and checked against the IDNA rules rather than taken on trust. **/\nexport type Hostname<P extends Override<DomainParams, 'pattern'> = {}> = PresetFormat<'domain', DEFAULT_HOSTNAME_PARAMS, P>;\n/** Internationalized host name (RFC 5890) — the same rules as `Hostname` plus\n * labels written in their own script (`実例.テスト`), including the contextual and\n * bidirectional rules those bring with them. **/\nexport type IdnHostname<P extends Override<DomainParams, 'pattern'> = {}> = PresetFormat<\n 'domain',\n DEFAULT_IDN_HOSTNAME_PARAMS,\n P\n>;\n/** RFC 3339 duration string (`P4DT12H30M5S`). A LENGTH of time, so it is not\n * one of the Date/Time formats and takes no min/max bounds; those describe an\n * instant. Note this grammar is stricter than the `now±P…` bound specs. **/\nexport type StringDuration<P extends Override<StringParams, 'pattern'> = {}> = PresetFormat<\n 'stringFormat',\n DEFAULT_STRING_DURATION_PARAMS,\n P\n>;\n/** A string that is itself a usable ECMA-262 regular expression — what\n * `format: 'regex'` asserts. Not to be confused with the `pattern` param,\n * which is a regex the VALUE must match; here the value IS the regex. **/\nexport type RegexString<P extends Override<StringParams, 'pattern'> = {}> = PresetFormat<'stringFormat', DEFAULT_REGEX_PARAMS, P>;\n/** RFC 6901 JSON pointer (`/store/book/0/title`). The empty string is the\n * whole document, and so is valid. **/\nexport type JsonPointer<P extends Override<StringParams, 'pattern'> = {}> = PresetFormat<\n 'stringFormat',\n DEFAULT_JSON_POINTER_PARAMS,\n P\n>;\n/** RFC 6901 relative JSON pointer (`1/foo`, `2#`) — a hop count, then either a\n * pointer or `#` for the key it landed on. **/\nexport type RelativeJsonPointer<P extends Override<StringParams, 'pattern'> = {}> = PresetFormat<\n 'stringFormat',\n DEFAULT_RELATIVE_JSON_POINTER_PARAMS,\n P\n>;\n/* eslint-enable @typescript-eslint/no-empty-object-type */\n\n// ───────────────────── Predefined string builders ───────────────────\n// Each builder carries the CONCRETE alias above so its id converges with the type-first `createValidateFn<Email>()`.\n// Each takes its type's optional params over the preset defaults, except UUID, whose only param is the pinned version.\n// For constraints no preset covers, use `TF.string({…})`.\n\n/** The call shape every predefined string builder shares. **/\nexport interface PresetFormatBuilder<Tag extends string, Defaults extends object, Params> {\n (id?: InjectRunTypeId<PresetFormat<Tag, Defaults>>): RunType<PresetFormat<Tag, Defaults>>;\n <const P extends Params>(\n formatParams: CompTimeArgs<ExactParams<P, Params>>,\n id?: InjectRunTypeId<PresetFormat<Tag, Defaults, P>>\n ): RunType<PresetFormat<Tag, Defaults, P>>;\n}\n\n/** One implementation behind all of them. The first argument is a params bag only when it is a\n * non-array object: an ARRAY there is an injected entry-module id, the same line compose.ts draws. **/\nexport function presetFormatBuilder<Tag extends string, Defaults extends object, Params>(\n tag: Tag\n): PresetFormatBuilder<Tag, Defaults, Params> {\n return ((formatParamsOrId?: Params | InjectRunTypeId<unknown>, id?: InjectRunTypeId<unknown>) => {\n const isParams = typeof formatParamsOrId === 'object' && formatParamsOrId !== null && !Array.isArray(formatParamsOrId);\n const injectedId = isParams ? id : ((formatParamsOrId as InjectRunTypeId<unknown> | undefined) ?? id);\n return builderResult(injectedId, {type: tag, formatParams: isParams ? formatParamsOrId : {}});\n }) as PresetFormatBuilder<Tag, Defaults, Params>;\n}\n\n/** Alphabetic-only string (`Alpha`); `alpha({maxLength: 3})` adds bounds. **/\nexport const alpha = presetFormatBuilder<'stringFormat', {pattern: typeof ALPHA_PATTERN}, Override<StringParams, 'pattern'>>(\n 'stringFormat'\n);\n/** Alphanumeric-only string (`AlphaNumeric`). **/\nexport const alphaNumeric = presetFormatBuilder<\n 'stringFormat',\n {pattern: typeof ALPHANUMERIC_PATTERN},\n Override<StringParams, 'pattern'>\n>('stringFormat');\n/** Digits-only string (`Numeric`). **/\nexport const numeric = presetFormatBuilder<'stringFormat', {pattern: typeof NUMERIC_PATTERN}, Override<StringParams, 'pattern'>>(\n 'stringFormat'\n);\n/** Base64-encoded string (`Base64`) — JSON Schema `contentEncoding: 'base64'`. **/\nexport const base64 = presetFormatBuilder<'stringFormat', {pattern: typeof BASE64_PATTERN}, Override<StringParams, 'pattern'>>(\n 'stringFormat'\n);\n/** Base32-encoded string (`Base32`) — JSON Schema `contentEncoding: 'base32'`. **/\nexport const base32 = presetFormatBuilder<'stringFormat', {pattern: typeof BASE32_PATTERN}, Override<StringParams, 'pattern'>>(\n 'stringFormat'\n);\n/** Base16 / hex-encoded string (`Base16`) — JSON Schema `contentEncoding: 'base16'`. **/\nexport const base16 = presetFormatBuilder<'stringFormat', {pattern: typeof BASE16_PATTERN}, Override<StringParams, 'pattern'>>(\n 'stringFormat'\n);\n/** A JSON-parseable string (`JsonContent`) — JSON Schema\n * `contentMediaType: 'application/json'`. **/\nexport const jsonContent = presetFormatBuilder<'stringFormat', DEFAULT_JSON_CONTENT_PARAMS, Override<StringParams>>(\n 'stringFormat'\n);\n/** A base64-encoded JSON-parseable string (`JsonContentBase64`) — JSON Schema\n * `contentMediaType: 'application/json'` + `contentEncoding: 'base64'`. **/\nexport const jsonContentBase64 = presetFormatBuilder<'stringFormat', DEFAULT_JSON_CONTENT_BASE64_PARAMS, Override<StringParams>>(\n 'stringFormat'\n);\n/** Lowercase string (`Lowercase`). The rewrite is applied only by `createFormatTransformFn` and mion's\n * `sanitizeParams`; validate accepts any case. **/\nexport const lowercase = presetFormatBuilder<'stringFormat', {transform: {lowercase: true}}, Override<StringParams, 'transform'>>(\n 'stringFormat'\n);\n/** Uppercase string (`Uppercase`). **/\nexport const uppercase = presetFormatBuilder<'stringFormat', {transform: {uppercase: true}}, Override<StringParams, 'transform'>>(\n 'stringFormat'\n);\n/** Capitalized string (`Capitalize`). **/\nexport const capitalize = presetFormatBuilder<\n 'stringFormat',\n {transform: {capitalize: true}},\n Override<StringParams, 'transform'>\n>('stringFormat');\n\n/** Value-first twin of `Transform<T, P>`, converging on the type-first id; over `TF.string()` it is a\n * `String<{transform: P}>`. Only this outer call resolves an id, the inner builder is the leaf. **/\nexport function transform<T extends string, const P extends TransformParamsOf<T>>(\n runType: RunType<T>,\n transformParams: CompTimeArgs<ExactParams<P, TransformParamsOf<T>>>,\n id?: InjectRunTypeId<Transform<T, P>>\n): RunType<Transform<T, P>> {\n return builderResult(id, {type: 'transform', formatParams: {transform: transformParams}, inner: runType});\n}\n\n// The UUID builders take no params, deliberately: `version` is UUIDParams' only member and each alias\n// exists to pin it, so an override could only ever turn one alias into another.\n/** Version-agnostic UUID (`UUID`). **/\nexport const uuid = presetBuilder<UUID>('uuid');\n/** UUID v4 (`UUIDv4`). **/\nexport const uuidv4 = presetBuilder<UUIDv4>('uuid');\n/** UUID v7 (`UUIDv7`). **/\nexport const uuidv7 = presetBuilder<UUIDv7>('uuid');\n\n/** IP address, any version (`IP`); `ip({allowLocalHost: true})` also accepts the\n * hostname `localhost`. **/\nexport const ip = presetFormatBuilder<'ip', DEFAULT_IP_PARAMS, Override<IPParams>>('ip');\n/** IPv4 (`IPv4`); `ipv4({allowPort: true})` requires a trailing port. **/\nexport const ipv4 = presetFormatBuilder<'ip', DEFAULT_IPV4_PARAMS, Override<IPParams, 'version'>>('ip');\n/** IPv6 (`IPv6`). **/\nexport const ipv6 = presetFormatBuilder<'ip', DEFAULT_IPV6_PARAMS, Override<IPParams, 'version'>>('ip');\n/** IP (any) with port (`IPWithPort`). **/\nexport const ipWithPort = presetFormatBuilder<'ip', DEFAULT_IP_PORT_PARAMS, Override<IPParams, 'allowPort'>>('ip');\n/** IPv4 with port (`IPv4WithPort`). **/\nexport const ipv4WithPort = presetFormatBuilder<'ip', DEFAULT_IPV4_PORT_PARAMS, Override<IPParams, 'version' | 'allowPort'>>(\n 'ip'\n);\n/** IPv6 with port (`IPv6WithPort`). **/\nexport const ipv6WithPort = presetFormatBuilder<'ip', DEFAULT_IPV6_PORT_PARAMS, Override<IPParams, 'version' | 'allowPort'>>(\n 'ip'\n);\n\n/** Any RFC 3986 URI, any scheme (`Uri`). **/\nexport const uri = presetFormatBuilder<'url', DEFAULT_URI_PARAMS, Override<UrlParams, 'pattern'>>('url');\n/** URI reference, relative allowed (`UriReference`). **/\nexport const uriReference = presetFormatBuilder<'url', DEFAULT_URI_REFERENCE_PARAMS, Override<UrlParams, 'pattern'>>('url');\n/** IRI — a URI with non-ASCII characters allowed (`Iri`). **/\nexport const iri = presetFormatBuilder<'url', DEFAULT_IRI_PARAMS, Override<UrlParams, 'pattern'>>('url');\n/** IRI reference, relative allowed (`IriReference`). **/\nexport const iriReference = presetFormatBuilder<'url', DEFAULT_IRI_REFERENCE_PARAMS, Override<UrlParams, 'pattern'>>('url');\n/** RFC 6570 URI template (`UriTemplate`). **/\nexport const uriTemplate = presetFormatBuilder<'url', DEFAULT_URI_TEMPLATE_PARAMS, Override<UrlParams, 'pattern'>>('url');\n/** RFC 1123 host name, single label allowed (`Hostname`). **/\nexport const hostname = presetFormatBuilder<'domain', DEFAULT_HOSTNAME_PARAMS, Override<DomainParams, 'pattern'>>('domain');\n/** Internationalized host name (`IdnHostname`). **/\nexport const idnHostname = presetFormatBuilder<'domain', DEFAULT_IDN_HOSTNAME_PARAMS, Override<DomainParams, 'pattern'>>(\n 'domain'\n);\n/** RFC 3339 duration string (`StringDuration`). **/\nexport const stringDuration = presetFormatBuilder<\n 'stringFormat',\n DEFAULT_STRING_DURATION_PARAMS,\n Override<StringParams, 'pattern'>\n>('stringFormat');\n/** A string that compiles as an ECMA-262 regular expression (`RegexString`). **/\nexport const regexString = presetFormatBuilder<'stringFormat', DEFAULT_REGEX_PARAMS, Override<StringParams, 'pattern'>>(\n 'stringFormat'\n);\n/** RFC 6901 JSON pointer (`JsonPointer`). **/\nexport const jsonPointer = presetFormatBuilder<'stringFormat', DEFAULT_JSON_POINTER_PARAMS, Override<StringParams, 'pattern'>>(\n 'stringFormat'\n);\n/** RFC 6901 relative JSON pointer (`RelativeJsonPointer`). **/\nexport const relativeJsonPointer = presetFormatBuilder<\n 'stringFormat',\n DEFAULT_RELATIVE_JSON_POINTER_PARAMS,\n Override<StringParams, 'pattern'>\n>('stringFormat');\n\n/** Domain name (`Domain`); `domain({maxLength: 100})` overrides bounds, keeping\n * the built-in pattern. **/\nexport const domain = presetFormatBuilder<'domain', DEFAULT_DOMAIN_PARAMS, Override<DomainParams>>('domain');\n/** Unicode domain (`DomainUnicode`). **/\nexport const domainUnicode = presetFormatBuilder<'domain', DEFAULT_DOMAIN_UNICODE_PARAMS, Override<DomainParams, 'pattern'>>(\n 'domain'\n);\n/** Punycode domain (`DomainPunycode`). **/\nexport const domainPunycode = presetFormatBuilder<'domain', DEFAULT_DOMAIN_PUNYCODE_PARAMS, Override<DomainParams, 'pattern'>>(\n 'domain'\n);\n/** Domain checked label by label (`DomainParts`). **/\nexport const domainParts = presetFormatBuilder<\n 'domain',\n DEFAULT_DOMAIN_PARTS_PARAMS,\n Override<DomainPartsParams, 'names' | 'tld'>\n>('domain');\n\n/** Email (`Email`); `email({maxLength: 100})` overrides bounds, keeping the\n * built-in pattern. **/\nexport const email = presetFormatBuilder<'email', DEFAULT_EMAIL_PARAMS, Override<EmailParams>>('email');\n/** Full RFC 5321 address (`EmailAddress`). **/\nexport const emailAddress = presetFormatBuilder<'email', DEFAULT_EMAIL_ADDRESS_PARAMS, Override<EmailParams, 'pattern'>>('email');\n/** Internationalized address (`IdnEmail`). **/\nexport const idnEmail = presetFormatBuilder<'email', DEFAULT_IDN_EMAIL_PARAMS, Override<EmailParams, 'pattern'>>('email');\n/** Punycode-domain email (`EmailPunycode`). **/\nexport const emailPunycode = presetFormatBuilder<'email', DEFAULT_EMAIL_PUNYCODE_PARAMS, Override<EmailParams, 'pattern'>>(\n 'email'\n);\n/** Email checked part by part (`EmailParts`). **/\nexport const emailParts = presetFormatBuilder<\n 'email',\n DEFAULT_EMAIL_PARTS_PARAMS,\n Override<EmailPartsParams, 'localPart' | 'domain'>\n>('email');\n\n/** URL string (`StringUrl`); `stringUrl({maxLength: 100})` overrides bounds, keeping the built-in pattern. **/\nexport const stringUrl = presetFormatBuilder<'url', DEFAULT_URL_PARAMS, Override<UrlParams>>('url');\n/** HTTP(S) URL string (`StringUrlHttp`); `stringUrlHttp({maxLength: 100})` retunes the bound. **/\nexport const stringUrlHttp = presetFormatBuilder<'url', DEFAULT_URL_HTTP_PARAMS, Override<UrlParams, 'pattern'>>('url');\n/** file:// URL string (`StringUrlFile`). **/\nexport const stringUrlFile = presetFormatBuilder<'url', DEFAULT_URL_FILE_PARAMS, Override<UrlParams, 'pattern'>>('url');\n\n/** A URL object field (`Url`); `url({maxLength: 200})` checks its href. **/\nexport function url(id?: InjectRunTypeId<UrlInstance>): RunType<UrlInstance>;\nexport function url<const P extends UrlObjectParams>(\n formatParams: CompTimeArgs<ExactParams<P, UrlObjectParams>>,\n id?: InjectRunTypeId<Url<P>>\n): RunType<Url<P>>;\nexport function url<const P extends UrlObjectParams, const B extends string>(\n formatParams: CompTimeArgs<ExactParams<P, UrlObjectParams>>,\n brandTag: BrandArg<B>,\n id?: InjectRunTypeId<Url<P, B>>\n): RunType<Url<P, B>>;\nexport function url(\n formatParamsOrId?: UrlObjectParams | InjectRunTypeId<UrlInstance>,\n brandOrId?: BrandArg<string> | InjectRunTypeId<UrlInstance>,\n id?: InjectRunTypeId<UrlInstance>\n): RunType<UrlInstance> {\n const formatParams = typeof formatParamsOrId === 'object' && !Array.isArray(formatParamsOrId) ? formatParamsOrId : {};\n return builderResult(lastInjectedId(formatParamsOrId, brandOrId, id), {type: 'nativeUrl', formatParams});\n}\n\n/** The call shape of the two URL object presets. **/\nexport interface UrlObjectPresetBuilder<Defaults extends object> {\n (id?: InjectRunTypeId<UrlObjectFormat<Defaults>>): RunType<UrlObjectFormat<Defaults>>;\n <const P extends Override<UrlObjectParams, 'pattern'>>(\n formatParams: CompTimeArgs<ExactParams<P, Override<UrlObjectParams, 'pattern'>>>,\n id?: InjectRunTypeId<UrlObjectFormat<FormatDefaults<Defaults, P>>>\n ): RunType<UrlObjectFormat<FormatDefaults<Defaults, P>>>;\n}\n/** HTTP(S) URL object (`UrlHttp`); `urlHttp({maxLength: 100})` retunes the bound. **/\nexport const urlHttp = presetFormatBuilder('nativeUrl') as unknown as UrlObjectPresetBuilder<DEFAULT_URL_HTTP_PARAMS>;\n/** file:// URL object (`UrlFile`). **/\nexport const urlFile = presetFormatBuilder('nativeUrl') as unknown as UrlObjectPresetBuilder<DEFAULT_URL_FILE_PARAMS>;\n\n/** A string-date field (`StringDate`); `stringDate({format: 'DD-MM-YYYY'})`\n * picks the layout and may add min/max bounds. **/\nexport function stringDate(id?: InjectRunTypeId<StringDate>): RunType<StringDate>;\nexport function stringDate<const P extends Partial<DateParams>>(\n formatParams: CompTimeArgs<ExactParams<P, Partial<DateParams>>>,\n id?: InjectRunTypeId<StringDate<P>>\n): RunType<StringDate<P>>;\nexport function stringDate(\n formatParamsOrId?: Partial<DateParams> | InjectRunTypeId<StringDate>,\n id?: InjectRunTypeId<StringDate>\n): RunType<StringDate> {\n const formatParams = typeof formatParamsOrId === 'object' ? formatParamsOrId : {};\n const injectedId = typeof formatParamsOrId === 'string' ? formatParamsOrId : id;\n return builderResult(injectedId, {type: 'date', formatParams});\n}\n\n/** A string-time field (`StringTime`). **/\nexport function stringTime(id?: InjectRunTypeId<StringTime>): RunType<StringTime>;\nexport function stringTime<const P extends Partial<TimeParams>>(\n formatParams: CompTimeArgs<ExactParams<P, Partial<TimeParams>>>,\n id?: InjectRunTypeId<StringTime<P>>\n): RunType<StringTime<P>>;\nexport function stringTime(\n formatParamsOrId?: Partial<TimeParams> | InjectRunTypeId<StringTime>,\n id?: InjectRunTypeId<StringTime>\n): RunType<StringTime> {\n const formatParams = typeof formatParamsOrId === 'object' ? formatParamsOrId : {};\n const injectedId = typeof formatParamsOrId === 'string' ? formatParamsOrId : id;\n return builderResult(injectedId, {type: 'time', formatParams});\n}\n\n/** A string-dateTime field (`StringDateTime`). **/\nexport function stringDateTime(id?: InjectRunTypeId<StringDateTime>): RunType<StringDateTime>;\nexport function stringDateTime<const P extends Partial<DateTimeParams>>(\n formatParams: CompTimeArgs<ExactParams<P, Partial<DateTimeParams>>>,\n id?: InjectRunTypeId<StringDateTime<P>>\n): RunType<StringDateTime<P>>;\nexport function stringDateTime(\n formatParamsOrId?: Partial<DateTimeParams> | InjectRunTypeId<StringDateTime>,\n id?: InjectRunTypeId<StringDateTime>\n): RunType<StringDateTime> {\n const formatParams = typeof formatParamsOrId === 'object' ? formatParamsOrId : {};\n const injectedId = typeof formatParamsOrId === 'string' ? formatParamsOrId : id;\n return builderResult(injectedId, {type: 'dateTime', formatParams});\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structural.js","sourceRoot":"","sources":["../../src/formats/structural.ts"],"names":[],"mappings":"AAoBA,MAAM,CAAC,MAAM,oBAAoB,GAAG,gBAAgB,CAAC;AACrD,MAAM,CAAC,MAAM,qBAAqB,GAAG,iBAAiB,CAAC;AAoDvD,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC;AACjD,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"structural.js","sourceRoot":"","sources":["../../src/formats/structural.ts"],"names":[],"mappings":"AAoBA,MAAM,CAAC,MAAM,oBAAoB,GAAG,gBAAgB,CAAC;AACrD,MAAM,CAAC,MAAM,qBAAqB,GAAG,iBAAiB,CAAC;AAoDvD,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC;AACjD,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC","sourcesContent":["// Structural formats: the value-first + type-first spelling of the collection/object constraint\n// keywords that have no plain TS shape, both converging on ONE structural id. A caller writes one\n// params bag; the ENCODING splits because the resolver forces it. Keywords carrying a TYPE\n// (`contains`, `patternProperties`, `propertyNames`) ride a dedicated one-property sentinel, the\n// literal-valued ones ride the brand: `__rtFormatParams` is walked into a JSON literal map\n// (`literalParamsFromType`, typeid/formats.go) whose fallback for a non-literal member is the PRINTED\n// TYPE STRING, so a child schema stored there could collide two element types on one id, or split one\n// type spelled two ways. `closed` / `closedPatterns` are DERIVED from the shape by the value-first\n// `object` builder (compose.ts), never hand-authored: a list disagreeing with the shape silently rejects.\n\nimport type {RunType} from '../runtypes/types.ts';\nimport type {__rtFormatName, __rtFormatParams, __rtContains, __rtPatternProps, __rtPropNames} from '../runtypes/sentinelKeys.ts';\n\ntype Flatten<T> = {[K in keyof T]: T[K]};\n\n// #region structural-slice — the type-first structural surface, RunType-free on purpose (the\n// value-first halves live BELOW the region). The resolver matches a symbol-keyed property on its\n// declaration NAME, so a sentinel symbol declared locally is recognised exactly like the shipped one.\n\n/** Kept in sync with the Go emitters (internal/cachegen/typefunctions/formats/structural) and the generated catalog. */\nexport const FORMATTED_ARRAY_NAME = 'formattedArray';\nexport const FORMATTED_OBJECT_NAME = 'formattedObject';\n\n/** Spelled raw because TypeFormat's base is primitive-constrained; the wide-brand shape every\n * metadata walker (DataOnly's keep probes, StripRunTypeMeta's collapse) matches. **/\nexport type StructuralBrand<Name extends string, P extends object> = {\n readonly [__rtFormatName]?: Name;\n readonly [__rtFormatParams]?: P;\n};\n\n// ────────────────────────── Collection params ─────────────────────────\n\n/** One bag shared by the array, Set and Map wrappers. An ENTRY is an array item, a Set member or a\n * Map's `[key, value]` pair, so on a Map `contains` takes a TUPLE; `uniqueItems` is deep JSON\n * equality over the entries, `contains` the entry type at least one entry must match. `Contains`\n * re-parameterises the one type-carrying slot so value-first and type-first stay the SAME interface\n * (the builders pass a `RunType` there, type-first the entry type itself). **/\nexport interface FormattedCollectionParams<Contains = unknown> {\n readonly minItems?: number;\n readonly maxItems?: number;\n readonly uniqueItems?: true;\n readonly contains?: Contains;\n readonly minContains?: number;\n readonly maxContains?: number;\n}\n\n// The literal keywords that ride `__rtFormatParams`; values pass through verbatim, so the id is\n// whatever the caller wrote. The `contains` trio is absent by construction: it belongs to the sentinel below.\ntype CollectionLiteralKeys = 'minItems' | 'maxItems' | 'uniqueItems';\ntype CollectionLiteralPart<P> = {readonly [K in Extract<keyof P, CollectionLiteralKeys>]: P[K]};\n\ntype ContainsSlot<P> = P extends {contains: infer C}\n ? {\n readonly [__rtContains]?: Flatten<\n {readonly rt$child: C} & (P extends {minContains: infer N extends number} ? {readonly rt$min: N} : {readonly rt$min: 1}) &\n (P extends {maxContains: infer N extends number} ? {readonly rt$max: N} : unknown)\n >;\n }\n : unknown;\n\n/** An array/tuple base carrying every collection keyword in `P`. **/\nexport type FormattedArray<Base extends readonly unknown[], P extends FormattedCollectionParams> = Base &\n ([keyof CollectionLiteralPart<P>] extends [never]\n ? unknown\n : StructuralBrand<typeof FORMATTED_ARRAY_NAME, CollectionLiteralPart<P>>) &\n ContainsSlot<P>;\n\n// ─────────────────────────── Set / Map brands ───────────────────────────\n// A Set is an array on the wire and a Map an array of `[key, value]` pairs, so both take the\n// collection bag WHOLE and one Go helper serves the three families. The resolver lifts the brand\n// onto the Map / Set class node the way it lifts a format brand onto `Date`.\n\n/** Kept in sync with the Go emitters (structural/collectionformat.go) and the generated catalog. */\nexport const FORMATTED_SET_NAME = 'formattedSet';\nexport const FORMATTED_MAP_NAME = 'formattedMap';\n\n/** A Set base carrying every collection keyword in `P`: the bounds count the members (read off\n * `.size`), `uniqueItems` is deep JSON equality over them (a `Set<{id: number}>` may hold two\n * structurally equal objects), `contains` is the member type at least one member must match. **/\nexport type FormattedSet<Base extends ReadonlySet<unknown>, P extends FormattedCollectionParams> = Base &\n ([keyof CollectionLiteralPart<P>] extends [never]\n ? unknown\n : StructuralBrand<typeof FORMATTED_SET_NAME, CollectionLiteralPart<P>>) &\n ContainsSlot<P>;\n\n// A Map's ENTRY, hence the shape of its `contains` child: unconstrained, `{contains: number}` would\n// compile into a validator that ALWAYS rejects, which nothing downstream can tell from a deliberate\n// constraint. Exactly two slots, so a wrong-arity or optional/rest tuple is rejected at the call site too.\ntype MapEntry = readonly [unknown, unknown];\n\n/** The collection bag as a MAP takes it: the one type-carrying slot narrowed to a `[key, value]` pair. **/\nexport type FormattedMapParams = FormattedCollectionParams<MapEntry>;\n\n/** A Map base carrying every collection keyword in `P`, all reading over its `[key, value]` pairs\n * (its wire form): the bounds count them off `.size`, `uniqueItems` is deep JSON equality over the\n * PAIRS (two structurally equal keys duplicate only when the values match too), and `contains` is a\n * two-slot TUPLE at least one pair must match, `unknown` in a slot skipping that slot. **/\nexport type FormattedMap<Base extends ReadonlyMap<unknown, unknown>, P extends FormattedMapParams> = Base &\n ([keyof CollectionLiteralPart<P>] extends [never]\n ? unknown\n : StructuralBrand<typeof FORMATTED_MAP_NAME, CollectionLiteralPart<P>>) &\n ContainsSlot<P>;\n\n// ─────────────────────────── Object params ──────────────────────────\n\n/** Every object constraint keyword, as one bag: `patternProperties` maps a pattern SOURCE to the\n * value TYPE its matching keys carry, `propertyNames` is the string constraint every key must\n * satisfy, `closed` / `closedPatterns` are the derived allowed-key lists behind\n * `additionalProperties: false`. `Value` / `Key` re-parameterise the two type-carrying slots, as\n * `Contains` does above, and the builders pass `RunType`s there. **/\nexport interface FormattedObjectParams<Value = unknown, Key = string> {\n readonly minProperties?: number;\n readonly maxProperties?: number;\n readonly patternProperties?: Record<string, Value>;\n readonly propertyNames?: Key;\n readonly closed?: readonly string[];\n readonly closedPatterns?: readonly string[];\n /** The keys a SCHEMA-valued `additionalProperties` exempts: the schema's OWN `properties`, nothing\n * else. Without it the emitted index-signature sweep also exempts keys an intersection member\n * contributed, which then wrongly escape the check. **/\n readonly additionalOwn?: readonly string[];\n}\n\ntype ObjectLiteralKeys = 'minProperties' | 'maxProperties' | 'closed' | 'closedPatterns' | 'additionalOwn';\ntype ObjectLiteralPart<P> = {readonly [K in Extract<keyof P, ObjectLiteralKeys>]: P[K]};\n\n// The `patternProperties` slot; `flags: ''` is DELIBERATE and matches the runtime: the emitted key\n// sweeps compile `new RegExp(source)` with no flags, so the brand (which only powers the mock sample\n// pools) says the same.\ntype PatternPropsSlot<P> = P extends {patternProperties: infer M}\n ? {\n readonly [__rtPatternProps]?: {\n readonly [K in keyof M]: {\n readonly rt$key: string & StructuralBrand<'stringFormat', {readonly pattern: {readonly source: K; readonly flags: ''}}>;\n readonly rt$value: M[K];\n };\n };\n }\n : unknown;\n\n// The `propertyNames` slot; `never` is the `propertyNames: false` case: no key may be present.\ntype PropNamesSlot<P> = P extends {propertyNames: infer N} ? {readonly [__rtPropNames]?: N} : unknown;\n\n/** An object/record base carrying every object keyword in `P`. **/\nexport type FormattedObject<Base extends object, P extends FormattedObjectParams> = Base &\n ([keyof ObjectLiteralPart<P>] extends [never] ? unknown : StructuralBrand<typeof FORMATTED_OBJECT_NAME, ObjectLiteralPart<P>>) &\n PatternPropsSlot<P> &\n PropNamesSlot<P>;\n\n// #endregion structural-slice\n\n// ───────────── Value-first param shapes + reflected `…From` types ─────────────\n// A builder's params bag is the SAME bag as above holding `RunType`s in its type-carrying slots, so\n// these are ALIASES, never twins: a keyword added to one surface cannot go missing from the other.\n// They sit outside the shared region only because they name `RunType`, which the region must not.\n\n/** The params bag every COLLECTION builder takes (`array` / `set` / `map`). **/\nexport type FormattedCollectionParamsValueFirst = FormattedCollectionParams<RunType<unknown>>;\n\n/** The `map` builder's params, the value-first twin of `FormattedMapParams`: `RT.tuple({required:\n * [k, v]})` satisfies its `contains` slot; a single-value schema does not, which is the point. **/\nexport type FormattedMapParamsValueFirst = FormattedCollectionParams<RunType<readonly [unknown, unknown]>>;\n\n// To the type-first form: the `contains` RunType unwraps to its carried entry type.\ntype CollectionParamsType<P> = Flatten<\n Pick<P, Extract<keyof P, 'minItems' | 'maxItems' | 'uniqueItems' | 'minContains' | 'maxContains'>> &\n (P extends {contains: RunType<infer C>} ? {readonly contains: C} : unknown)\n>;\n\n/** The type-first `FormattedArray` a value-first `array(item, params)` call produces. **/\nexport type FormattedArrayFrom<T extends readonly unknown[], P> = FormattedArray<\n T,\n Extract<CollectionParamsType<P>, FormattedCollectionParams>\n>;\n\n/** The type-first `FormattedSet` a value-first `set(item, params)` call produces. **/\nexport type FormattedSetFrom<T extends ReadonlySet<unknown>, P> = FormattedSet<\n T,\n Extract<CollectionParamsType<P>, FormattedCollectionParams>\n>;\n\n/** The type-first `FormattedMap` a value-first `map(key, value, params)` call produces; a Map's\n * `contains` RunType is the TUPLE of its key and value schemas, and unwraps to the tuple type. **/\nexport type FormattedMapFrom<T extends ReadonlyMap<unknown, unknown>, P> = FormattedMap<\n T,\n Extract<CollectionParamsType<P>, FormattedMapParams>\n>;\n\n/** The `object` / `record` builders' params. **/\nexport type FormattedObjectParamsValueFirst = FormattedObjectParams<RunType<unknown>, RunType<string>>;\n\ntype ObjectParamsType<P> = Flatten<\n Pick<P, Extract<keyof P, 'minProperties' | 'maxProperties' | 'closed' | 'closedPatterns'>> &\n (P extends {patternProperties: infer M}\n ? {readonly patternProperties: {[K in keyof M]: M[K] extends RunType<infer V> ? V : never}}\n : unknown) &\n (P extends {propertyNames: RunType<infer K extends string>} ? {readonly propertyNames: K} : unknown)\n>;\n\n/** The type-first `FormattedObject` a value-first `object(config, params)` / `record(…, params)` call produces. **/\nexport type FormattedObjectFrom<T extends object, P> = FormattedObject<T, Extract<ObjectParamsType<P>, FormattedObjectParams>>;\n\n// NO runtime counterpart, deliberately: a builder's keywords reach the engine through the REFLECTED\n// TYPE, and `builderResult` discards the carrier it was handed. The carrier survives only on the\n// un-injected fallback path, where the sole thing read of it is `isRunTypeLike`'s `'type' in arg`\n// sniff, so composing the params into it would be metadata no reader ever consults.\n"]}
|
package/dist/getRunType.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getRunType.js","sourceRoot":"","sources":["../src/getRunType.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAC,aAAa,EAAE,aAAa,EAAE,YAAY,EAAC,MAAM,0BAA0B,CAAC;AA0BpF,MAAM,UAAU,UAAU,CAAI,cAA+B,EAAE,EAAuB;IACpF,IAAI,UAAU,GAAuB,EAAE,CAAC;IACxC,IAAI,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;QAErB,aAAa,CAAC,EAAE,CAAC,CAAC;QAClB,UAAU,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACpF,CAAC;IACD,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACpD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,uCAAuC,UAAU,8EAA8E,CAChI,CAAC;IACJ,CAAC;IACD,OAAO,OAAqB,CAAC;AAC/B,CAAC"}
|
|
1
|
+
{"version":3,"file":"getRunType.js","sourceRoot":"","sources":["../src/getRunType.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAC,aAAa,EAAE,aAAa,EAAE,YAAY,EAAC,MAAM,0BAA0B,CAAC;AA0BpF,MAAM,UAAU,UAAU,CAAI,cAA+B,EAAE,EAAuB;IACpF,IAAI,UAAU,GAAuB,EAAE,CAAC;IACxC,IAAI,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;QAErB,aAAa,CAAC,EAAE,CAAC,CAAC;QAClB,UAAU,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACpF,CAAC;IACD,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACpD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,uCAAuC,UAAU,8EAA8E,CAChI,CAAC;IACJ,CAAC;IACD,OAAO,OAAqB,CAAC;AAC/B,CAAC","sourcesContent":["// Reflection-node accessor — the value-bearing companion to `getRunTypeId`: it returns the\n// traversable `RunType<T>` node the build registered for `T`, i.e.\n// `getRTUtils().getRunType(getRunTypeId<T>())` collapsed into one call. Kept in its own file (like\n// `createMockDataFn`) so markers.ts stays registry-free.\n\nimport {getRTUtils} from './runtypes/rtUtils.ts';\nimport {entryTupleKey, initFromTuple, isEntryTuple} from './runtypes/entryTuple.ts';\nimport type {InjectRunTypeId} from './markers.ts';\nimport type {RunType} from './runtypes/types.ts';\n\n/**\n * Returns the reflected `RunType<T>` node — the parsed, traversable type graph (`kind`, `children`,\n * `parameters`, `child`, `return`, format annotations, …). Three call shapes, mirroring\n * `createMockDataFn`:\n *\n * - STATIC — bring the type, no value: `getRunType<User>()`.\n * - REFLECTION — let `T` be inferred from a runtime value: `getRunType(user)`. The value is read\n * only for its type; at runtime it is ignored.\n * - RUN-TYPE — pass the run-type a builder returned, reflect the type it MODELS:\n * `getRunType(object({…}))`. `T` is the UNWRAPPED modeled type; without this overload\n * `getRunType(runType)` infers `T = RunType<…>` and reflects the whole `RunType` interface (id,\n * kind, children, format annotation, …) instead of the type the run-type describes.\n *\n * The build fills the trailing `InjectRunTypeId<T>` parameter at the call site, so `getRunType` is\n * itself a `getRunTypeId` wrapper: the transformer injects the entry tuple, the call registers the\n * type graph, and the node is returned. Throws if the transformer isn't active (no id injected) or\n * the build emitted no entry for the resolved id.\n */\n// Run-type overload first so `getRunType(runType)` binds `T` from `RunType<T>` rather than matching\n// `(_value?: T)` with `T = RunType<T>`.\nexport function getRunType<T>(runType: RunType<T>, id?: InjectRunTypeId<T>): RunType<T>;\nexport function getRunType<T>(_value?: T, id?: InjectRunTypeId<T>): RunType<T>;\nexport function getRunType<T>(_valueOrSchema?: T | RunType<T>, id?: InjectRunTypeId<T>): RunType<T> {\n let injectedId: string | undefined = id;\n if (isEntryTuple(id)) {\n // Register the injected type graph and recover the id string, exactly as createMockDataFn does.\n initFromTuple(id);\n injectedId = entryTupleKey(id);\n }\n if (injectedId === undefined) {\n throw new Error('getRunType(): no id injected. @mionjs/devtools must be active.');\n }\n const runType = getRTUtils().getRunType(injectedId);\n if (!runType) {\n throw new Error(\n `getRunType(): no RunType entry for \"${injectedId}\" in rtUtils. The build pipeline didn't emit a cache entry for that runtype.`\n );\n }\n return runType as RunType<T>;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fnHashes.generated.js","sourceRoot":"","sources":["../../src/go-generated/fnHashes.generated.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fnHashes.generated.js","sourceRoot":"","sources":["../../src/go-generated/fnHashes.generated.ts"],"names":[],"mappings":"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","sourcesContent":["// Code generated by cmd/gen-fn-hashes. DO NOT EDIT.\n// Source: internal/cachegen/operations (the registry + fnhash.go salt).\n// Regenerate via `pnpm miondevx core codegen fnhashes` after changing an operation, a\n// validate option, a JSON strategy, or the fnHash salt.\n//\n// Every fnHash here is VERSION-INDEPENDENT (operations.fnHashSalt no longer\n// folds constants.Version), so the same table ships for every mion\n// release: a consumer resolves `fnKey (+ options) → fnHash` once and never\n// re-pins on a version bump. The runtime cache key is `<fnHash>_<typeId>`;\n// its typeId half (injected by the plugin) still carries the version.\n\nexport type FnHashAxis = 'none' | 'validateOptions' | 'jsonStrategy';\n\nexport interface FnHashEntry {\n readonly axis: FnHashAxis;\n /** jsonStrategy only: the strategy token applied when options omit `strategy`. */\n readonly defaultVariant?: string;\n /** CircularGuarded families (validate / validationErrors / jsonEncoder)\n * fork on the rejectCircularRefs compile option: each base\n * variant token also has a 'C'-suffixed armed twin. getFnHash appends 'C'\n * when options.rejectCircularRefs is set on such a family. */\n readonly circularGuarded?: true;\n /** Variant token → fnHash. Token is '' for option-less families, the validate\n * variant suffix ('', 'NT', 'NM'), or the JSON strategy name — each\n * optionally with a trailing 'C' for the rejectCircularRefs fork on a\n * CircularGuarded family. */\n readonly variants: Readonly<Record<string, string>>;\n}\n\nexport const FN_HASHES = {\n classSerializerReg: {axis: 'none', variants: {'': 'fGyS'}},\n compactForJson: {axis: 'none', variants: {'': 'rpEK'}},\n compactFromJson: {axis: 'none', variants: {'': 'FFsn'}},\n formatTransform: {axis: 'none', variants: {'': 'mzca'}},\n jsonDecoder: {axis: 'jsonStrategy', defaultVariant: 'clone', variants: {clone: 'xXCs', compact: 'hoBv', mutate: 'TqQA'}},\n jsonEncoder: {\n axis: 'jsonStrategy',\n defaultVariant: 'clone',\n circularGuarded: true,\n variants: {clone: 'tx9T', cloneC: 'ZLjB', compact: 'FL2w', compactC: 'D9wa', mutate: 'l3Wy', mutateC: 'E23P'},\n },\n jsonSchema: {axis: 'none', variants: {'': 'VwiH'}},\n prepareForJsonClone: {axis: 'none', variants: {'': 'A0Qb'}},\n prepareForJsonMutate: {axis: 'none', variants: {'': 'AwYs'}},\n removeUnknownKeys: {axis: 'none', variants: {'': 'C85b'}},\n removeUnknownKeysRefuse: {axis: 'none', variants: {'': 'lJ3b'}},\n removeUnknownKeysShared: {axis: 'none', variants: {'': 'LMn9'}},\n restoreFromJsonClone: {axis: 'none', variants: {'': 'Ky89'}},\n restoreFromJsonMutate: {axis: 'none', variants: {'': 'w8ie'}},\n validate: {\n axis: 'validateOptions',\n circularGuarded: true,\n variants: {'': 'Eq2V', C: 'VpZY', NM: 'PHIy', NMC: 'STwe', NT: 'WOvb', NTC: 'Tq25'},\n },\n validateStrict: {\n axis: 'validateOptions',\n circularGuarded: true,\n variants: {'': 'fZHy', C: 'ljLE', NM: 'EwD7', NMC: 'dobr', NT: 'gAsC', NTC: 'Oz5j'},\n },\n validateUnionKeys: {\n axis: 'validateOptions',\n circularGuarded: true,\n variants: {'': 'Xhuv', C: 'H97o', NM: 'NX1L', NMC: 'qzkT', NT: 'BhE9', NTC: 'q7RI'},\n },\n validationErrors: {\n axis: 'validateOptions',\n circularGuarded: true,\n variants: {'': 'swxg', C: 'UYW2', NM: 'zncs', NMC: 'VTY9', NT: 'aZak', NTC: 'hjJf'},\n },\n validationErrorsStrict: {\n axis: 'validateOptions',\n circularGuarded: true,\n variants: {'': 'OB5g', C: 'c6EY', NM: 'TGyU', NMC: 'k7iN', NT: 'ikAJ', NTC: 'ypxr'},\n },\n validationErrorsUnionKeys: {\n axis: 'validateOptions',\n circularGuarded: true,\n variants: {'': 'OBOg', C: 'O8IR', NM: 'zAg4', NMC: 'Yu6R', NT: 'X6fx', NTC: 'bEtz'},\n },\n} as const satisfies Record<string, FnHashEntry>;\n\n/** Emitted family tag → the fn key that names it in a marker. The two are\n * SEPARATE vocabularies: a compiled entry carries the short tag ('pjs') at\n * slot 0 of its tuple, while a marker names the readable key\n * ('prepareForJsonClone'). A framework that projects an injected payload by\n * the tag it finds needs this to speak one vocabulary again. Composite JSON\n * families emit per-strategy tags and are not listed. */\nexport const FAMILY_TAG_TO_FN_KEY = {\n cj: 'compactForJson',\n cjr: 'compactFromJson',\n csr: 'classSerializerReg',\n fmt: 'formatTransform',\n jsc: 'jsonSchema',\n pj: 'prepareForJsonMutate',\n pjs: 'prepareForJsonClone',\n rj: 'restoreFromJsonMutate',\n rjs: 'restoreFromJsonClone',\n ruk: 'removeUnknownKeys',\n rukr: 'removeUnknownKeysRefuse',\n ruks: 'removeUnknownKeysShared',\n val: 'validate',\n verr: 'validationErrors',\n vest: 'validationErrorsStrict',\n veuk: 'validationErrorsUnionKeys',\n vst: 'validateStrict',\n vuk: 'validateUnionKeys',\n} as const satisfies Readonly<Record<string, string>>;\n\n/** ValidateOptions name → single-letter token, in Go declaration order\n * (constants.ValidateOptions). The validate variant suffix is 'N' followed by\n * the letters of the present options concatenated in THIS order. */\nexport const VALIDATE_OPTION_LETTERS = [\n ['numberTypeof', 'T'],\n ['numberNotNaN', 'M'],\n] as const satisfies ReadonlyArray<readonly [string, string]>;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatErrorKeys.generated.js","sourceRoot":"","sources":["../../src/go-generated/formatErrorKeys.generated.ts"],"names":[],"mappings":"AA4CA,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,CAAC;IACtD,UAAU,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC;IACtC,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;IAC1C,QAAQ,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC;IACjE,MAAM,EAAE,CAAC,eAAe,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC;IACxG,KAAK,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC;IAC/F,cAAc,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,CAAC;IACvD,YAAY,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,CAAC;IACrD,eAAe,EAAE,CAAC,QAAQ,EAAE,eAAe,EAAE,eAAe,CAAC;IAC7D,YAAY,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,CAAC;IACrD,EAAE,EAAE,CAAC,SAAS,CAAC;IACf,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;IACtC,SAAS,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,CAAC;IAChD,YAAY,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,CAAC;IACjE,YAAY,EAAE;QACZ,cAAc;QACd,eAAe;QACf,kBAAkB;QAClB,iBAAiB;QACjB,kBAAkB;QAClB,SAAS;QACT,QAAQ;QACR,WAAW;QACX,WAAW;QACX,SAAS;KACV;IACD,eAAe,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;IAC3C,iBAAiB,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;IAC7C,qBAAqB,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;IACjD,iBAAiB,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;IAC7C,sBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;IAClD,qBAAqB,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;IACjD,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;IAC1C,GAAG,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,CAAC;IAC1C,IAAI,EAAE,CAAC,SAAS,CAAC;CACT,CAAC"}
|
|
1
|
+
{"version":3,"file":"formatErrorKeys.generated.js","sourceRoot":"","sources":["../../src/go-generated/formatErrorKeys.generated.ts"],"names":[],"mappings":"AA4CA,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,CAAC;IACtD,UAAU,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC;IACtC,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;IAC1C,QAAQ,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC;IACjE,MAAM,EAAE,CAAC,eAAe,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC;IACxG,KAAK,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC;IAC/F,cAAc,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,CAAC;IACvD,YAAY,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,CAAC;IACrD,eAAe,EAAE,CAAC,QAAQ,EAAE,eAAe,EAAE,eAAe,CAAC;IAC7D,YAAY,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,CAAC;IACrD,EAAE,EAAE,CAAC,SAAS,CAAC;IACf,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;IACtC,SAAS,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,CAAC;IAChD,YAAY,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,CAAC;IACjE,YAAY,EAAE;QACZ,cAAc;QACd,eAAe;QACf,kBAAkB;QAClB,iBAAiB;QACjB,kBAAkB;QAClB,SAAS;QACT,QAAQ;QACR,WAAW;QACX,WAAW;QACX,SAAS;KACV;IACD,eAAe,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;IAC3C,iBAAiB,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;IAC7C,qBAAqB,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;IACjD,iBAAiB,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;IAC7C,sBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;IAClD,qBAAqB,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;IACjD,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;IAC1C,GAAG,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,CAAC;IAC1C,IAAI,EAAE,CAAC,SAAS,CAAC;CACT,CAAC","sourcesContent":["// AUTO-GENERATED by cmd/gen-format-error-keys. DO NOT EDIT.\n// Regenerate: pnpm miondevx core codegen errorkeys. CI fails on drift (`--check`).\n// Keys come from each format's own validation-errors code, run over the samples in\n// ts-go-runtypes/internal/cachegen/typefunctions/formats/errorkeys_samples.go.\n\n// Every `rt$errors` key a format's validation errors can carry, per format name.\nexport type FormatErrorKeys = {\n bigintFormat: 'gt' | 'lt' | 'max' | 'min' | 'multipleOf';\n creditCard: 'creditCard' | 'networks';\n date: 'format' | 'gt' | 'lt' | 'max' | 'min';\n dateTime: 'date' | 'gt' | 'lt' | 'max' | 'min' | 'splitChar' | 'time';\n domain: 'allowedValues' | 'hyphen' | 'idna' | 'maxLength' | 'maxParts' | 'minLength' | 'minParts' | 'pattern';\n email: '@' | 'emailRfc' | 'hyphen' | 'maxLength' | 'maxParts' | 'minLength' | 'minParts' | 'pattern';\n formattedArray: 'maxItems' | 'minItems' | 'uniqueItems';\n formattedMap: 'maxItems' | 'minItems' | 'uniqueItems';\n formattedObject: 'closed' | 'maxProperties' | 'minProperties';\n formattedSet: 'maxItems' | 'minItems' | 'uniqueItems';\n ip: 'version';\n nativeDate: 'gt' | 'lt' | 'max' | 'min';\n nativeUrl: 'maxLength' | 'minLength' | 'pattern';\n numberFormat: 'gt' | 'integer' | 'lt' | 'max' | 'min' | 'multipleOf';\n stringFormat:\n | 'allowedChars'\n | 'allowedValues'\n | 'contentMediaType'\n | 'disallowedChars'\n | 'disallowedValues'\n | 'isRegex'\n | 'length'\n | 'maxLength'\n | 'minLength'\n | 'pattern';\n temporalInstant: 'gt' | 'lt' | 'max' | 'min';\n temporalPlainDate: 'gt' | 'lt' | 'max' | 'min';\n temporalPlainDateTime: 'gt' | 'lt' | 'max' | 'min';\n temporalPlainTime: 'gt' | 'lt' | 'max' | 'min';\n temporalPlainYearMonth: 'gt' | 'lt' | 'max' | 'min';\n temporalZonedDateTime: 'gt' | 'lt' | 'max' | 'min';\n time: 'format' | 'gt' | 'lt' | 'max' | 'min';\n url: 'maxLength' | 'minLength' | 'pattern';\n uuid: 'version';\n};\n\n// The same keys as data.\nexport const FORMAT_ERROR_KEYS = {\n bigintFormat: ['gt', 'lt', 'max', 'min', 'multipleOf'],\n creditCard: ['creditCard', 'networks'],\n date: ['format', 'gt', 'lt', 'max', 'min'],\n dateTime: ['date', 'gt', 'lt', 'max', 'min', 'splitChar', 'time'],\n domain: ['allowedValues', 'hyphen', 'idna', 'maxLength', 'maxParts', 'minLength', 'minParts', 'pattern'],\n email: ['@', 'emailRfc', 'hyphen', 'maxLength', 'maxParts', 'minLength', 'minParts', 'pattern'],\n formattedArray: ['maxItems', 'minItems', 'uniqueItems'],\n formattedMap: ['maxItems', 'minItems', 'uniqueItems'],\n formattedObject: ['closed', 'maxProperties', 'minProperties'],\n formattedSet: ['maxItems', 'minItems', 'uniqueItems'],\n ip: ['version'],\n nativeDate: ['gt', 'lt', 'max', 'min'],\n nativeUrl: ['maxLength', 'minLength', 'pattern'],\n numberFormat: ['gt', 'integer', 'lt', 'max', 'min', 'multipleOf'],\n stringFormat: [\n 'allowedChars',\n 'allowedValues',\n 'contentMediaType',\n 'disallowedChars',\n 'disallowedValues',\n 'isRegex',\n 'length',\n 'maxLength',\n 'minLength',\n 'pattern',\n ],\n temporalInstant: ['gt', 'lt', 'max', 'min'],\n temporalPlainDate: ['gt', 'lt', 'max', 'min'],\n temporalPlainDateTime: ['gt', 'lt', 'max', 'min'],\n temporalPlainTime: ['gt', 'lt', 'max', 'min'],\n temporalPlainYearMonth: ['gt', 'lt', 'max', 'min'],\n temporalZonedDateTime: ['gt', 'lt', 'max', 'min'],\n time: ['format', 'gt', 'lt', 'max', 'min'],\n url: ['maxLength', 'minLength', 'pattern'],\n uuid: ['version'],\n} as const;\n\n// The params each format's samples set or exclude on purpose; a param outside it fails a type test.\nexport type FormatSampledParams = {\n bigintFormat: 'exclusiveMaximum' | 'exclusiveMinimum' | 'gt' | 'lt' | 'max' | 'maximum' | 'min' | 'minimum' | 'multipleOf';\n creditCard: 'networks' | 'separators' | 'transform';\n date: 'exclusiveMaximum' | 'exclusiveMinimum' | 'format' | 'gt' | 'lt' | 'max' | 'maximum' | 'min' | 'minimum';\n dateTime:\n | 'date'\n | 'exclusiveMaximum'\n | 'exclusiveMinimum'\n | 'gt'\n | 'lt'\n | 'max'\n | 'maximum'\n | 'min'\n | 'minimum'\n | 'splitChar'\n | 'time';\n domain:\n | 'allowedValues'\n | 'idna'\n | 'maxLength'\n | 'maxParts'\n | 'minLength'\n | 'minParts'\n | 'mockSamples'\n | 'names'\n | 'pattern'\n | 'tld'\n | 'transform';\n email: 'domain' | 'emailRfc' | 'localPart' | 'maxLength' | 'minLength' | 'mockSamples' | 'pattern' | 'transform';\n formattedArray: 'contains' | 'maxContains' | 'maxItems' | 'minContains' | 'minItems' | 'uniqueItems';\n formattedMap: 'contains' | 'maxContains' | 'maxItems' | 'minContains' | 'minItems' | 'uniqueItems';\n formattedObject:\n | 'additionalOwn'\n | 'closed'\n | 'closedPatterns'\n | 'maxProperties'\n | 'minProperties'\n | 'patternProperties'\n | 'propertyNames';\n formattedSet: 'contains' | 'maxContains' | 'maxItems' | 'minContains' | 'minItems' | 'uniqueItems';\n ip: 'allowLocalHost' | 'allowPort' | 'transform' | 'version';\n nativeDate: 'exclusiveMaximum' | 'exclusiveMinimum' | 'gt' | 'lt' | 'max' | 'maximum' | 'min' | 'minimum';\n nativeUrl: 'maxLength' | 'minLength' | 'mockSamples' | 'pattern';\n numberFormat:\n | 'exclusiveMaximum'\n | 'exclusiveMinimum'\n | 'float'\n | 'gt'\n | 'integer'\n | 'isCurrency'\n | 'lt'\n | 'max'\n | 'maximum'\n | 'min'\n | 'minimum'\n | 'multipleOf'\n | 'multipleOfTolerance';\n stringFormat:\n | 'allowedChars'\n | 'allowedValues'\n | 'contentEncoding'\n | 'contentMediaType'\n | 'disallowedChars'\n | 'disallowedValues'\n | 'isRegex'\n | 'length'\n | 'maxLength'\n | 'minLength'\n | 'mockSamples'\n | 'pattern'\n | 'transform';\n temporalInstant: 'exclusiveMaximum' | 'exclusiveMinimum' | 'gt' | 'lt' | 'max' | 'maximum' | 'min' | 'minimum';\n temporalPlainDate: 'exclusiveMaximum' | 'exclusiveMinimum' | 'gt' | 'lt' | 'max' | 'maximum' | 'min' | 'minimum';\n temporalPlainDateTime: 'exclusiveMaximum' | 'exclusiveMinimum' | 'gt' | 'lt' | 'max' | 'maximum' | 'min' | 'minimum';\n temporalPlainTime: 'exclusiveMaximum' | 'exclusiveMinimum' | 'gt' | 'lt' | 'max' | 'maximum' | 'min' | 'minimum';\n temporalPlainYearMonth: 'exclusiveMaximum' | 'exclusiveMinimum' | 'gt' | 'lt' | 'max' | 'maximum' | 'min' | 'minimum';\n temporalZonedDateTime: 'exclusiveMaximum' | 'exclusiveMinimum' | 'gt' | 'lt' | 'max' | 'maximum' | 'min' | 'minimum';\n time: 'exclusiveMaximum' | 'exclusiveMinimum' | 'format' | 'gt' | 'lt' | 'max' | 'maximum' | 'min' | 'minimum';\n url: 'maxLength' | 'minLength' | 'mockSamples' | 'pattern' | 'transform';\n uuid: 'version';\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runTypeKind.generated.js","sourceRoot":"","sources":["../../src/go-generated/runTypeKind.generated.ts"],"names":[],"mappings":"AAwBA,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,KAAK,EAAE,CAAC;IACR,GAAG,EAAE,CAAC;IACN,OAAO,EAAE,CAAC;IACV,IAAI,EAAE,CAAC;IACP,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,EAAE;IACR,SAAS,EAAE,EAAE;IACb,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,EAAE;IACX,eAAe,EAAE,EAAE;IACnB,QAAQ,EAAE,EAAE;IACZ,MAAM,EAAE,EAAE;IACV,QAAQ,EAAE,EAAE;IACZ,SAAS,EAAE,EAAE;IACb,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,EAAE;IACT,aAAa,EAAE,EAAE;IACjB,IAAI,EAAE,EAAE;IACR,KAAK,EAAE,EAAE;IACT,YAAY,EAAE,EAAE;IAChB,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;IACT,WAAW,EAAE,EAAE;IACf,UAAU,EAAE,EAAE;IACd,IAAI,EAAE,EAAE;IACR,aAAa,EAAE,EAAE;IACjB,cAAc,EAAE,EAAE;IAClB,iBAAiB,EAAE,EAAE;IACrB,eAAe,EAAE,EAAE;IACnB,KAAK,EAAE,EAAE;IACT,aAAa,EAAE,EAAE;IACjB,GAAG,EAAE,CAAC,CAAC;CACC,CAAC;AAKX,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,CAAC;IACP,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;IACb,IAAI,EAAE,IAAI;IACV,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,eAAe,EAAE,IAAI;IACrB,GAAG,EAAE,IAAI;IACT,eAAe,EAAE,IAAI;IACrB,qBAAqB,EAAE,IAAI;IAC3B,iBAAiB,EAAE,IAAI;IACvB,iBAAiB,EAAE,IAAI;IACvB,qBAAqB,EAAE,IAAI;IAC3B,sBAAsB,EAAE,IAAI;IAC5B,qBAAqB,EAAE,IAAI;IAC3B,gBAAgB,EAAE,IAAI;CACd,CAAC"}
|
|
1
|
+
{"version":3,"file":"runTypeKind.generated.js","sourceRoot":"","sources":["../../src/go-generated/runTypeKind.generated.ts"],"names":[],"mappings":"AAwBA,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,KAAK,EAAE,CAAC;IACR,GAAG,EAAE,CAAC;IACN,OAAO,EAAE,CAAC;IACV,IAAI,EAAE,CAAC;IACP,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,EAAE;IACR,SAAS,EAAE,EAAE;IACb,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,EAAE;IACX,eAAe,EAAE,EAAE;IACnB,QAAQ,EAAE,EAAE;IACZ,MAAM,EAAE,EAAE;IACV,QAAQ,EAAE,EAAE;IACZ,SAAS,EAAE,EAAE;IACb,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,EAAE;IACT,aAAa,EAAE,EAAE;IACjB,IAAI,EAAE,EAAE;IACR,KAAK,EAAE,EAAE;IACT,YAAY,EAAE,EAAE;IAChB,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;IACT,WAAW,EAAE,EAAE;IACf,UAAU,EAAE,EAAE;IACd,IAAI,EAAE,EAAE;IACR,aAAa,EAAE,EAAE;IACjB,cAAc,EAAE,EAAE;IAClB,iBAAiB,EAAE,EAAE;IACrB,eAAe,EAAE,EAAE;IACnB,KAAK,EAAE,EAAE;IACT,aAAa,EAAE,EAAE;IACjB,GAAG,EAAE,CAAC,CAAC;CACC,CAAC;AAKX,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,CAAC;IACP,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;IACb,IAAI,EAAE,IAAI;IACV,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,eAAe,EAAE,IAAI;IACrB,GAAG,EAAE,IAAI;IACT,eAAe,EAAE,IAAI;IACrB,qBAAqB,EAAE,IAAI;IAC3B,iBAAiB,EAAE,IAAI;IACvB,iBAAiB,EAAE,IAAI;IACvB,qBAAqB,EAAE,IAAI;IAC3B,sBAAsB,EAAE,IAAI;IAC5B,qBAAqB,EAAE,IAAI;IAC3B,gBAAgB,EAAE,IAAI;CACd,CAAC","sourcesContent":["// ============================================================================\n// AUTO-GENERATED FILE\n// DO NOT EDIT MANUALLY\n// ============================================================================\n//\n// Generated by cmd/gen-run-type-kind from:\n// - internal/reflection/runtype.go\n// - internal/reflection/subkind.go\n//\n// To update: change the Go source, then run:\n//\n// pnpm miondevx core codegen kind\n//\n// which regenerates this file AND the devtools-package mirror\n// (packages/devtools/src/core/go-generated/reflectionKind.generated.ts) from the same\n// protocol consts. The TestRunTypeKindFileInSync Go test and\n// `pnpm miondevx core codegen kind --check` (CI) both fail on any drift.\n//\n// Numeric discriminators that JS-side consumers use to dispatch on the\n// shape of a RunType node in the runTypesCache. Values must match the\n// Go binary's wire output byte-for-byte.\n//\n// ============================================================================\n\nexport const RunTypeKind = {\n never: 0,\n any: 1,\n unknown: 2,\n void: 3,\n object: 4,\n string: 5,\n number: 6,\n boolean: 7,\n symbol: 8,\n bigint: 9,\n null: 10,\n undefined: 11,\n regexp: 12,\n literal: 13,\n templateLiteral: 14,\n property: 15,\n method: 16,\n function: 17,\n parameter: 18,\n promise: 19,\n class: 20,\n typeParameter: 21,\n enum: 22,\n union: 23,\n intersection: 24,\n array: 25,\n tuple: 26,\n tupleMember: 27,\n enumMember: 28,\n rest: 29,\n objectLiteral: 30,\n indexSignature: 31,\n propertySignature: 32,\n methodSignature: 33,\n infer: 34,\n callSignature: 35,\n ref: -1,\n} as const;\n\nexport type RunTypeKindName = keyof typeof RunTypeKind;\nexport type RunTypeKindValue = (typeof RunTypeKind)[RunTypeKindName];\n\nexport const RunTypeSubKind = {\n none: 0,\n mapKey: 1801,\n mapValue: 1802,\n setItem: 1803,\n date: 2001,\n map: 2002,\n set: 2003,\n nonSerializable: 2004,\n url: 2005,\n temporalInstant: 2101,\n temporalZonedDateTime: 2102,\n temporalPlainDate: 2103,\n temporalPlainTime: 2104,\n temporalPlainDateTime: 2105,\n temporalPlainYearMonth: 2106,\n temporalPlainMonthDay: 2107,\n temporalDuration: 2108,\n} as const;\n\nexport type RunTypeSubKindName = keyof typeof RunTypeSubKind;\nexport type RunTypeSubKindValue = (typeof RunTypeSubKind)[RunTypeSubKindName];\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typeFormats.generated.js","sourceRoot":"","sources":["../../src/go-generated/typeFormats.generated.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAC,WAAW,EAAwB,MAAM,4BAA4B,CAAC;AAU9E,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,YAAY,EAAE,EAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,EAAC;IAC9D,UAAU,EAAE,EAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,EAAC;IAC1D,IAAI,EAAE,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,EAAC;IAC9C,QAAQ,EAAE,EAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,EAAC;IACtD,MAAM,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,EAAC;IAClD,KAAK,EAAE,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,EAAC;IAChD,cAAc,EAAE,EAAC,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,EAAC;IACjE,YAAY,EAAE,EAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,EAAC;IAC7D,eAAe,EAAE,EAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,EAAC;IACpE,YAAY,EAAE,EAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,EAAC;IAC7D,EAAE,EAAE,EAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,EAAC;IAC1C,UAAU,EAAE,EAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,EAAC;IACzD,SAAS,EAAE,EAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,EAAC;IACvD,YAAY,EAAE,EAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,EAAC;IAC9D,YAAY,EAAE,EAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,EAAC;IAC9D,eAAe,EAAE,EAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,EAAC;IACnE,iBAAiB,EAAE,EAAC,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,EAAC;IACvE,qBAAqB,EAAE,EAAC,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,EAAC;IAC/E,iBAAiB,EAAE,EAAC,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,EAAC;IACvE,sBAAsB,EAAE,EAAC,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,EAAC;IACjF,qBAAqB,EAAE,EAAC,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,EAAC;IAC/E,IAAI,EAAE,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,EAAC;IAC9C,GAAG,EAAE,EAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,EAAC;IAC5C,IAAI,EAAE,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,EAAC;CACtC,CAAC"}
|
|
1
|
+
{"version":3,"file":"typeFormats.generated.js","sourceRoot":"","sources":["../../src/go-generated/typeFormats.generated.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAC,WAAW,EAAwB,MAAM,4BAA4B,CAAC;AAU9E,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,YAAY,EAAE,EAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,EAAC;IAC9D,UAAU,EAAE,EAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,EAAC;IAC1D,IAAI,EAAE,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,EAAC;IAC9C,QAAQ,EAAE,EAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,EAAC;IACtD,MAAM,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,EAAC;IAClD,KAAK,EAAE,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,EAAC;IAChD,cAAc,EAAE,EAAC,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,EAAC;IACjE,YAAY,EAAE,EAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,EAAC;IAC7D,eAAe,EAAE,EAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,EAAC;IACpE,YAAY,EAAE,EAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,EAAC;IAC7D,EAAE,EAAE,EAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,EAAC;IAC1C,UAAU,EAAE,EAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,EAAC;IACzD,SAAS,EAAE,EAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,EAAC;IACvD,YAAY,EAAE,EAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,EAAC;IAC9D,YAAY,EAAE,EAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,EAAC;IAC9D,eAAe,EAAE,EAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,EAAC;IACnE,iBAAiB,EAAE,EAAC,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,EAAC;IACvE,qBAAqB,EAAE,EAAC,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,EAAC;IAC/E,iBAAiB,EAAE,EAAC,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,EAAC;IACvE,sBAAsB,EAAE,EAAC,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,EAAC;IACjF,qBAAqB,EAAE,EAAC,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,EAAC;IAC/E,IAAI,EAAE,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,EAAC;IAC9C,GAAG,EAAE,EAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,EAAC;IAC5C,IAAI,EAAE,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,EAAC;CACtC,CAAC","sourcesContent":["// ============================================================================\n// AUTO-GENERATED FILE\n// DO NOT EDIT MANUALLY\n// ============================================================================\n//\n// Generated by cmd/gen-type-formats from the Go format registry\n// (internal/cachegen/typefunctions/formats — each emitter's Name() + Kind()).\n//\n// To update: add / rename a format emitter on the Go side, then run:\n//\n// pnpm miondevx core codegen typeformats\n//\n// The TestTypeFormatsFileInSync Go test and\n// `pnpm miondevx core codegen typeformats --check` (CI) both fail on any drift.\n//\n// The canonical format names mion stamps on a reflected prop's\n// `formatAnnotation.name`, each with the base RunTypeKind it refines. A\n// consumer that maps a reflected format to something external (a DB column,\n// a UI label) keys off this table instead of re-declaring the names.\n//\n// ============================================================================\n\nimport {RunTypeKind, type RunTypeKindValue} from './runTypeKind.generated.ts';\n\n// Metadata for one built-in type format: the canonical `name` and the base\n// `RunTypeKind` the format refines.\nexport interface TypeFormatMeta {\n readonly name: FormatName;\n readonly kind: RunTypeKindValue;\n}\n\n// Every built-in type format, keyed by its canonical name.\nexport const typeFormats = {\n bigintFormat: {name: 'bigintFormat', kind: RunTypeKind.bigint},\n creditCard: {name: 'creditCard', kind: RunTypeKind.string},\n date: {name: 'date', kind: RunTypeKind.string},\n dateTime: {name: 'dateTime', kind: RunTypeKind.string},\n domain: {name: 'domain', kind: RunTypeKind.string},\n email: {name: 'email', kind: RunTypeKind.string},\n formattedArray: {name: 'formattedArray', kind: RunTypeKind.array},\n formattedMap: {name: 'formattedMap', kind: RunTypeKind.class},\n formattedObject: {name: 'formattedObject', kind: RunTypeKind.object},\n formattedSet: {name: 'formattedSet', kind: RunTypeKind.class},\n ip: {name: 'ip', kind: RunTypeKind.string},\n nativeDate: {name: 'nativeDate', kind: RunTypeKind.class},\n nativeUrl: {name: 'nativeUrl', kind: RunTypeKind.class},\n numberFormat: {name: 'numberFormat', kind: RunTypeKind.number},\n stringFormat: {name: 'stringFormat', kind: RunTypeKind.string},\n temporalInstant: {name: 'temporalInstant', kind: RunTypeKind.class},\n temporalPlainDate: {name: 'temporalPlainDate', kind: RunTypeKind.class},\n temporalPlainDateTime: {name: 'temporalPlainDateTime', kind: RunTypeKind.class},\n temporalPlainTime: {name: 'temporalPlainTime', kind: RunTypeKind.class},\n temporalPlainYearMonth: {name: 'temporalPlainYearMonth', kind: RunTypeKind.class},\n temporalZonedDateTime: {name: 'temporalZonedDateTime', kind: RunTypeKind.class},\n time: {name: 'time', kind: RunTypeKind.string},\n url: {name: 'url', kind: RunTypeKind.string},\n uuid: {name: 'uuid', kind: RunTypeKind.string},\n} as const;\n\n// The canonical format-name string stamped on a reflected prop's\n// `formatAnnotation.name`, covering every built-in format.\nexport type FormatName = keyof typeof typeFormats;\n"]}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAYL,YAAY,GACb,MAAM,cAAc,CAAC;AAMtB,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AA4C3C,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,aAAa,GAId,MAAM,gCAAgC,CAAC;AAIxC,OAAO,8BAA8B,CAAC;AA8BtC,OAAO,EAAC,qBAAqB,EAA6C,MAAM,6BAA6B,CAAC;AAK9G,OAAO,EACL,WAAW,EAGX,cAAc,GAGf,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EAGL,gBAAgB,EAGhB,2BAA2B,EAM3B,yBAAyB,EAGzB,uBAAuB,EAEvB,mBAAmB,EAInB,mBAAmB,EAMnB,sBAAsB,EAGtB,uBAAuB,GAIxB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,gBAAgB,EAChB,2BAA2B,EAC3B,yBAAyB,EACzB,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAQlC,OAAO,EACL,oBAAoB,GAIrB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAC,qBAAqB,EAAmD,MAAM,4BAA4B,CAAC;AAmBnH,OAAO,EAAC,kBAAkB,EAAoB,MAAM,kCAAkC,CAAC;AACvF,OAAO,EACL,YAAY,EACZ,wBAAwB,EACxB,kBAAkB,EAClB,4BAA4B,GAE7B,MAAM,6BAA6B,CAAC;AAIrC,OAAO,EAAC,sBAAsB,EAAoB,MAAM,wBAAwB,CAAC;AAGjF,MAAM,CAAC,MAAM,4BAA4B,GAAG,+BAA+B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAYL,YAAY,GACb,MAAM,cAAc,CAAC;AAMtB,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AA4C3C,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,aAAa,GAId,MAAM,gCAAgC,CAAC;AAIxC,OAAO,8BAA8B,CAAC;AA8BtC,OAAO,EAAC,qBAAqB,EAA6C,MAAM,6BAA6B,CAAC;AAK9G,OAAO,EACL,WAAW,EAGX,cAAc,GAGf,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EAGL,gBAAgB,EAGhB,2BAA2B,EAM3B,yBAAyB,EAGzB,uBAAuB,EAEvB,mBAAmB,EAInB,mBAAmB,EAMnB,sBAAsB,EAGtB,uBAAuB,GAIxB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,gBAAgB,EAChB,2BAA2B,EAC3B,yBAAyB,EACzB,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAQlC,OAAO,EACL,oBAAoB,GAIrB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAC,qBAAqB,EAAmD,MAAM,4BAA4B,CAAC;AAmBnH,OAAO,EAAC,kBAAkB,EAAoB,MAAM,kCAAkC,CAAC;AACvF,OAAO,EACL,YAAY,EACZ,wBAAwB,EACxB,kBAAkB,EAClB,4BAA4B,GAE7B,MAAM,6BAA6B,CAAC;AAIrC,OAAO,EAAC,sBAAsB,EAAoB,MAAM,wBAAwB,CAAC;AAGjF,MAAM,CAAC,MAAM,4BAA4B,GAAG,+BAA+B,CAAC","sourcesContent":["// Public entry point for mion RunTypes.\nexport {\n type InjectRunTypeId,\n type InjectTypeFnArgs,\n type InjectPureFnId,\n type InjectBatchId,\n type InjectApiMetadata,\n type InjectBuildVersion,\n type CompTimeArgs,\n type CompTimeFnArgs,\n type CompTimeHints,\n type PureFunction,\n type PureFunctionFactory,\n getRunTypeId,\n} from './markers.ts';\n\n// Evaluated BEFORE `./createRTFunctions.ts`: it pulls in rtUtils, which cache modules call through\n// `initCache(getRTUtils())` at module top level across any ESM cycle.\n// getRunType stays on the main entry: the build reads value-use of a builder through it, and on a\n// subpath that builder is left with no instantiable row (elision fuzz: E2-value-missing-reflection).\nexport {getRunType} from './getRunType.ts';\n\n// The wire surface for compiled RT functions: send the closure-free `CompiledFnData` (its `code` is\n// the factory body), restore it with `buildFactoryFromCode` (on the `./runtime` subpath), write back\n// through `RTUtils.addToRTCache` / `.addPureFn`, then call via `getRTUtils().getRT(hash)`.\nexport {\n type CompiledFnData,\n type CompiledTypeFn,\n type InitializedTypeFn,\n type CompiledFnArgs,\n type CompiledPureFunction,\n type PureFunctionData,\n type AnyFn,\n} from './runtypes/types.ts';\n\n// The value-first surface: builders return `RunType<T>`, `InferType<typeof schema>` maps back to the\n// source TS type it carries.\nexport {type RunType} from './runtypes/types.ts';\nexport {type DataOnly} from './runtypes/dataOnly.ts';\nexport {type StripRunTypeMeta, type JsonValue} from './runtypes/stripRunTypeMeta.ts';\n// `JSONShape<T>` — the JSON wire twin of `DataOnly<T>` (what createJsonEncoderFn writes /\n// createJsonDecoderFn reads). Annotation-grade: never reflect it.\nexport {type JSONShape} from './runtypes/jsonShape.ts';\nexport {type InferType, type AnyOf} from './builders/static.ts';\n\n// AI enrichment — type-keyed, committed maps validated against `T` at scan time (see\n// docs/AI_ENRICHMENT.md). `FriendlyText<T>` is labels + error templates; `MockData<T>` is the sample\n// pools/ranges feeding `createMockDataFn`.\nexport {\n type FriendlyText,\n type FriendlyNode,\n type FriendlyMeta,\n type ErrorTemplates,\n type FriendlyTemplate,\n type PluralCategory,\n type PluralTemplate,\n type TemplateLeaf,\n} from './enrich/friendlyText.ts';\nexport {type MockData, type MockNode} from './enrich/mockData.ts';\n// Pure-data runtime: render `getValidationErrors` output into human messages.\n// `createFriendlyTextI18n` is the locale-selecting wrapper over the same walk — the source map is\n// the source language + terminal fallback, translations are same-tree per-locale consts, plurals\n// select via Intl.PluralRules, and `$[val]` renders type-driven (an isCurrency-marked bound via the\n// app-supplied `currency` option, date-family bounds via Intl.DateTimeFormat).\nexport {\n createFriendlyText,\n createFriendlyTextI18n,\n resolveLocale,\n type FriendlyMessage,\n type FriendlyRenderer,\n type FriendlyI18nOptions,\n} from './enrich/createFriendlyText.ts';\n\n// Side-effect import: registers the package's own pure fns (newRunTypeErr, getUnknownKeysFromArray, …),\n// which MUST evaluate before any materialised factory reaches one.\nimport './runtypes/pure-fns-utils.ts';\n\n// Per-format types live on the `/formats` subpath; the brand alias stays at root so a format module\n// can import it without a self-referential barrel cycle.\nexport {\n type TypeFormat,\n type TypeFormatBase,\n type TypeFormatParams,\n type FormatNameOf,\n type FormatParamsOf,\n type FormatBrandNameOf,\n // The named brand carriers, public because DECLARATION EMIT needs them to be: a downstream\n // exported type that expands a format structurally (a mion router's public API does) can only be\n // written to a `.d.ts` if the emitter can name what it is printing.\n type FormatBrand,\n type NominalBrand,\n} from './runtypes/typeFormat.ts';\n// The format sentinel KEYS, type-only: `typeof __rtFormatName extends keyof T` is\n// the only sound format detection downstream (the symbols are nominal — a local\n// re-declaration only helps the Go scanner, never TS type matching). Zero runtime\n// footprint: `declare const` emits nothing and type-only exports are elided.\nexport type {__rtFormatName, __rtFormatParams} from './runtypes/sentinelKeys.ts';\n// The typed format-error union a validator for `T` reports (what\n// `createGetValidationErrorsFn<T>()` returns); the per-format mode unions it\n// is built from live on the `/formats` subpath next to their params.\nexport type {FormatErrorsOf} from './runtypes/formatErrors.ts';\n// Plain type transforms that keep format fidelity in the derived payload shapes (used by the\n// drizzle-orm packages).\nexport type {InsertModel, SelectModel, UpdateModel} from './modelTypes.ts';\nexport {type FormatAnnotation} from './runtypes/formatAnnotation.ts';\nexport {registerFormatPattern, type FormatPattern, type StringPatternArgs} from './runtypes/formatPattern.ts';\n// Reflection-kind enum mirrors (auto-generated from the Go protocol). Re-exported so formats under\n// `src/formats/` can declare `readonly kind = RunTypeKind.string` and graph consumers can key on\n// kind/subKind: detect a builtin like Date via `subKind === RunTypeSubKind.date`, never via\n// `typeName === 'Date'`, which false-positives on user classes named Date.\nexport {\n RunTypeKind,\n type RunTypeKindName,\n type RunTypeKindValue,\n RunTypeSubKind,\n type RunTypeSubKindName,\n type RunTypeSubKindValue,\n} from './go-generated/runTypeKind.generated.ts';\n\nexport {\n // createValidateFn / createGetValidationErrorsFn are overloaded: a value-first `RunType` schema as\n // the first arg is a distinct overload from the type/value reflection form — both reflect `T`.\n createValidateFn,\n type ValidateFn,\n type ValidateOptions,\n createGetValidationErrorsFn,\n type GetValidationErrorsFn,\n type RTValidationError,\n type TypeFormatError,\n type RTValidationErrorPathSegment,\n type RTPathSegment,\n createRemoveUnknownKeysFn,\n type RemoveUnknownKeysFn,\n type RemoveUnknownKeysOptions,\n createFormatTransformFn,\n type FormatTransformFn,\n createJsonEncoderFn,\n type JsonEncoderFn,\n type JsonEncoderOptions,\n type JsonEncoderStrategy,\n createJsonDecoderFn,\n type JsonDecoderFn,\n type JsonDecoderOptions,\n type JsonDecoderStrategy,\n // The value-level JSON transforms, no string step; several of them in ONE wrapper marker\n // resolve through `getRTFunction` instead.\n createPrepareForJsonFn,\n type PrepareForJsonFn,\n type PrepareForJsonOptions,\n createRestoreFromJsonFn,\n type RestoreFromJsonFn,\n type RestoreFromJsonOptions,\n type JsonValueStrategy,\n} from './createRTFunctions.ts';\n\n// The write side of createX routing; declared after createRTFunctions so its Fn aliases initialize first.\nexport {\n overrideValidate,\n overrideGetValidationErrors,\n overrideRemoveUnknownKeys,\n overrideFormatTransform,\n overrideJsonEncoder,\n overrideJsonDecoder,\n} from './overrideRTFunctions.ts';\n\n// Mock generation lives on the `@mionjs/run-types/mocking` subpath, so a bundle never carries it unasked.\n\n// Standard Schema v1 adapter — re-exported from `./standard/` so bundlers can\n// drop the adapter subtree when consumers never call createStandardSchema. The\n// StandardSchemaV1 interface is copied in (./standard/spec.ts) to preserve the\n// package's zero-runtime-dependency posture.\nexport {\n createStandardSchema,\n type RTStandardSchemaV1,\n type RTValidationResult,\n type RTValidationFailureResult,\n} from './standard/createStandardSchema.ts';\nexport {runTypeErrorsToIssues, type IssueMappingOptions, type RTValidationIssue} from './standard/issueMapping.ts';\nexport {\n type StandardSchemaV1,\n type StandardSchemaProps,\n type StandardSchemaResult,\n type StandardSchemaSuccessResult,\n type StandardSchemaFailureResult,\n type StandardSchemaIssue,\n type StandardSchemaPathSegment,\n type StandardSchemaTypes,\n type StandardSchemaInferInput,\n type StandardSchemaInferOutput,\n type StandardJSONSchemaV1,\n type StandardJSONSchemaProps,\n type StandardJSONSchemaConverter,\n type StandardJSONSchemaOptions,\n} from './standard/spec.ts';\n// The StandardJSONSchemaV1 document half: createStandardSchema's `~standard.jsonSchema` converter\n// serves the same document this per-type fn returns.\nexport {createJsonSchemaFn, type JsonSchemaFn} from './standard/createJsonSchemaFn.ts';\nexport {\n stripDialect,\n buildJsonSchemaConverter,\n JSON_SCHEMA_TARGET,\n JSON_SCHEMA_DIALECT_KEYWORDS,\n type JsonSchemaDocFn,\n} from './standard/jsonSchemaDoc.ts';\n\n// Armed only by the compile-time `{rejectCircularRefs: true}`, which forks the fnHash; there is no global toggle.\n// On a cycle the encoders throw this, validate returns false and getValidationErrors records `{expected: 'circular'}`.\nexport {CircularReferenceError, type CircularPath} from './runtypes/circular.ts';\n\n// Prefix of every decoder's prototype-named-key error; the router matches on it and Go's UnsafeKeyMessage must match.\nexport const UNSAFE_PROPERTY_NAME_MESSAGE = '[mion] Unsafe property name: ';\n"]}
|