@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,106 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.nativeMockRandom = exports.MockRandom = void 0;
|
|
4
|
-
exports.mulberry32 = mulberry32;
|
|
5
|
-
const constants_mock_ts_1 = require("./constants.mock.js");
|
|
6
|
-
function splitmix32(seed) {
|
|
7
|
-
let z = (seed + 0x9e3779b9) | 0;
|
|
8
|
-
z = Math.imul(z ^ (z >>> 16), 0x21f0aaad);
|
|
9
|
-
z = Math.imul(z ^ (z >>> 15), 0x735a2d97);
|
|
10
|
-
return (z ^ (z >>> 15)) >>> 0;
|
|
11
|
-
}
|
|
12
|
-
function mulberry32(state) {
|
|
13
|
-
let current = state >>> 0;
|
|
14
|
-
return function next() {
|
|
15
|
-
current = (current + 0x6d2b79f5) | 0;
|
|
16
|
-
let t = Math.imul(current ^ (current >>> 15), 1 | current);
|
|
17
|
-
t = (t + Math.imul(t ^ (t >>> 7), 61 | t)) ^ t;
|
|
18
|
-
return ((t ^ (t >>> 14)) >>> 0) / 4294967296;
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
const SEEDED_NOW_MS = 1_700_000_000_000;
|
|
22
|
-
class MockRandom {
|
|
23
|
-
next;
|
|
24
|
-
constructor(seed) {
|
|
25
|
-
this.next = seed === undefined ? undefined : mulberry32(splitmix32(seed));
|
|
26
|
-
}
|
|
27
|
-
float() {
|
|
28
|
-
return this.next ? this.next() : Math.random();
|
|
29
|
-
}
|
|
30
|
-
int(min = 0, max = 10000) {
|
|
31
|
-
return Math.floor(this.float() * (max - min + 1)) + min;
|
|
32
|
-
}
|
|
33
|
-
pick(list) {
|
|
34
|
-
return list[this.int(0, list.length - 1)];
|
|
35
|
-
}
|
|
36
|
-
boolean() {
|
|
37
|
-
return this.float() < 0.5;
|
|
38
|
-
}
|
|
39
|
-
bigint(min = 0, max = 10000) {
|
|
40
|
-
return BigInt(this.int(min, max));
|
|
41
|
-
}
|
|
42
|
-
number(min = 0, max = 10000) {
|
|
43
|
-
if (min > max)
|
|
44
|
-
throw new Error('min cannot be greater than max');
|
|
45
|
-
return this.int(min, max);
|
|
46
|
-
}
|
|
47
|
-
string(length, allowedChars = constants_mock_ts_1.stringCharSet, disallowedChars = '') {
|
|
48
|
-
const len = length ?? this.int(0, 30);
|
|
49
|
-
if (allowedChars.length === 0)
|
|
50
|
-
throw new Error('Can not generate random string as allowedChars cannot be empty');
|
|
51
|
-
const allowedCharSet = allowedChars
|
|
52
|
-
.split('')
|
|
53
|
-
.filter((char) => !disallowedChars.includes(char))
|
|
54
|
-
.join('');
|
|
55
|
-
if (allowedCharSet.length === 0)
|
|
56
|
-
throw new Error('Can not generate random string as allowedChars and disallowedChars are mutually exclusive');
|
|
57
|
-
return Array.from({ length: len }, () => allowedCharSet[this.int(0, allowedCharSet.length - 1)]).join('');
|
|
58
|
-
}
|
|
59
|
-
symbol(name, length, charsSet) {
|
|
60
|
-
const symbolName = name ?? this.string(length, charsSet);
|
|
61
|
-
return Symbol(symbolName);
|
|
62
|
-
}
|
|
63
|
-
regExp(list = constants_mock_ts_1.mockRegExpsList) {
|
|
64
|
-
return list[this.int(0, list.length - 1)];
|
|
65
|
-
}
|
|
66
|
-
date(minDate = new Date(0), maxDate) {
|
|
67
|
-
const min = typeof minDate === 'number' ? minDate : minDate.getTime();
|
|
68
|
-
const max = maxDate === undefined ? this.now() : typeof maxDate === 'number' ? maxDate : maxDate.getTime();
|
|
69
|
-
if (min > max)
|
|
70
|
-
throw new Error('minDate cannot be greater than maxDate');
|
|
71
|
-
return new Date(this.int(min, max));
|
|
72
|
-
}
|
|
73
|
-
any(anyList = constants_mock_ts_1.anyValuesList) {
|
|
74
|
-
return anyList[this.int(0, anyList.length - 1)];
|
|
75
|
-
}
|
|
76
|
-
now() {
|
|
77
|
-
return this.next ? SEEDED_NOW_MS : Date.now();
|
|
78
|
-
}
|
|
79
|
-
uuidV4() {
|
|
80
|
-
if (!this.next) {
|
|
81
|
-
const globalCrypto = globalThis.crypto;
|
|
82
|
-
if (globalCrypto?.randomUUID)
|
|
83
|
-
return globalCrypto.randomUUID();
|
|
84
|
-
}
|
|
85
|
-
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (char) => {
|
|
86
|
-
const rand = (this.float() * 16) | 0;
|
|
87
|
-
const value = char === 'x' ? rand : (rand & 0x3) | 0x8;
|
|
88
|
-
return value.toString(16);
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
uuidV7() {
|
|
92
|
-
const timeMs = this.next ? SEEDED_NOW_MS + this.int(0, 0xffffff) : Date.now();
|
|
93
|
-
const timeHex = timeMs.toString(16).padStart(12, '0').slice(-12);
|
|
94
|
-
const randHex = (count) => {
|
|
95
|
-
let out = '';
|
|
96
|
-
for (let i = 0; i < count; i++)
|
|
97
|
-
out += Math.floor(this.float() * 16).toString(16);
|
|
98
|
-
return out;
|
|
99
|
-
};
|
|
100
|
-
const variant = ((Math.floor(this.float() * 16) & 0x3) | 0x8).toString(16);
|
|
101
|
-
const full = timeHex + '7' + randHex(3) + variant + randHex(15);
|
|
102
|
-
return `${full.slice(0, 8)}-${full.slice(8, 12)}-${full.slice(12, 16)}-${full.slice(16, 20)}-${full.slice(20, 32)}`;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
exports.MockRandom = MockRandom;
|
|
106
|
-
exports.nativeMockRandom = new MockRandom();
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { FormatAnnotation } from '../runtypes/formatAnnotation.ts';
|
|
2
|
-
import type { RunTypeKindValue } from '../go-generated/runTypeKind.generated.ts';
|
|
3
|
-
import type { MockRandom } from './mockRandom.ts';
|
|
4
|
-
import type { MockOptions } from './mockTypes.ts';
|
|
5
|
-
export type MockFormatFn = (annotation: FormatAnnotation, random?: MockRandom, options?: MockOptions) => unknown;
|
|
6
|
-
export declare function registerMockingFunction(kind: RunTypeKindValue, fn: MockFormatFn): void;
|
|
7
|
-
export declare function getMockingFunction(kind: RunTypeKindValue): MockFormatFn | undefined;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.registerMockingFunction = registerMockingFunction;
|
|
4
|
-
exports.getMockingFunction = getMockingFunction;
|
|
5
|
-
const registry = new Map();
|
|
6
|
-
function registerMockingFunction(kind, fn) {
|
|
7
|
-
registry.set(kind, fn);
|
|
8
|
-
}
|
|
9
|
-
function getMockingFunction(kind) {
|
|
10
|
-
return registry.get(kind);
|
|
11
|
-
}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { MockRandom } from './mockRandom.ts';
|
|
2
|
-
import type { FormatAnnotation } from '../runtypes/formatAnnotation.ts';
|
|
3
|
-
export declare function pickSample(samples: readonly string[] | undefined, random: MockRandom): string | undefined;
|
|
4
|
-
export declare function negativeForStringFormat(annotation: FormatAnnotation | undefined, value: unknown): unknown;
|
|
5
|
-
export declare function mockUrlObject(annotation: FormatAnnotation | undefined, random?: MockRandom): URL;
|
|
@@ -1,238 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.pickSample = pickSample;
|
|
4
|
-
exports.negativeForStringFormat = negativeForStringFormat;
|
|
5
|
-
exports.mockUrlObject = mockUrlObject;
|
|
6
|
-
const mockRegistry_ts_1 = require("./mockRegistry.js");
|
|
7
|
-
const mockRandom_ts_1 = require("./mockRandom.js");
|
|
8
|
-
const credit_card_pure_fns_ts_1 = require("../formats/string/credit-card-pure-fns.js");
|
|
9
|
-
const runTypeKind_generated_ts_1 = require("../go-generated/runTypeKind.generated.js");
|
|
10
|
-
const mockDateTimeBounds_ts_1 = require("./mockDateTimeBounds.js");
|
|
11
|
-
function mockStringFormat(annotation, random = mockRandom_ts_1.nativeMockRandom, options) {
|
|
12
|
-
const params = annotation.params ?? {};
|
|
13
|
-
switch (annotation.name) {
|
|
14
|
-
case 'stringFormat':
|
|
15
|
-
return mockStringParams(params, random);
|
|
16
|
-
case 'uuid':
|
|
17
|
-
return mockUuid(params, random);
|
|
18
|
-
case 'creditCard':
|
|
19
|
-
return mockCreditCard(params, random, options);
|
|
20
|
-
case 'date': {
|
|
21
|
-
const dateParams = params;
|
|
22
|
-
return (0, mockDateTimeBounds_ts_1.mockBoundedDate)(dateParams.format ?? 'ISO', dateParams, random);
|
|
23
|
-
}
|
|
24
|
-
case 'time': {
|
|
25
|
-
const timeParams = params;
|
|
26
|
-
return (0, mockDateTimeBounds_ts_1.mockBoundedTime)(timeParams.format ?? 'ISO', timeParams, random);
|
|
27
|
-
}
|
|
28
|
-
case 'dateTime':
|
|
29
|
-
return (0, mockDateTimeBounds_ts_1.mockBoundedDateTime)(params, random);
|
|
30
|
-
case 'ip':
|
|
31
|
-
return mockIp(params, random);
|
|
32
|
-
case 'domain':
|
|
33
|
-
return lengthFiltered(params, () => mockDomain(params, random));
|
|
34
|
-
case 'email':
|
|
35
|
-
return lengthFiltered(params, () => mockEmail(params, random));
|
|
36
|
-
case 'url':
|
|
37
|
-
return lengthFiltered(params, () => mockUrl(params, random));
|
|
38
|
-
default:
|
|
39
|
-
return undefined;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
(0, mockRegistry_ts_1.registerMockingFunction)(runTypeKind_generated_ts_1.RunTypeKind.string, mockStringFormat);
|
|
43
|
-
function mockStringParams(params, random) {
|
|
44
|
-
if (params.allowedValues)
|
|
45
|
-
return pickSample(params.allowedValues.val, random) ?? '';
|
|
46
|
-
const sample = pickSample(filterSamplesByLength(params.mockSamples ?? patternSampleList(params.pattern) ?? toSampleList(params.disallowedValues?.mockSamples), params), random);
|
|
47
|
-
if (sample !== undefined)
|
|
48
|
-
return sample;
|
|
49
|
-
if (params.contentMediaType === 'application/json') {
|
|
50
|
-
return params.contentEncoding === 'base64' ? 'e30=' : '{}';
|
|
51
|
-
}
|
|
52
|
-
const charSet = params.allowedChars?.val ?? asCharString(params.disallowedChars?.mockSamples);
|
|
53
|
-
if (charSet)
|
|
54
|
-
return randomStringFrom(charSet, Math.max(1, pickMockLength(params, random)), random);
|
|
55
|
-
if (params.pattern !== undefined) {
|
|
56
|
-
throw new Error('StringFormat: a `pattern` needs `mockSamples` compatible with the length bounds to mock — ' +
|
|
57
|
-
'none survived (every sample violates length/minLength/maxLength), or none exist. The build ' +
|
|
58
|
-
'auto-generates them from the regex; building without the plugin/CLI (or with patternSampleCount 0) ' +
|
|
59
|
-
'requires declaring mockSamples explicitly.');
|
|
60
|
-
}
|
|
61
|
-
return randomString(pickMockLength(params, random), random);
|
|
62
|
-
}
|
|
63
|
-
function patternSampleList(pattern) {
|
|
64
|
-
const samples = pattern?.mockSamples;
|
|
65
|
-
return toSampleList(samples);
|
|
66
|
-
}
|
|
67
|
-
function filterSamplesByLength(samples, params) {
|
|
68
|
-
if (!samples || samples.length === 0)
|
|
69
|
-
return samples;
|
|
70
|
-
if (params.length === undefined && params.minLength === undefined && params.maxLength === undefined)
|
|
71
|
-
return samples;
|
|
72
|
-
return samples.filter((sample) => {
|
|
73
|
-
if (params.length !== undefined && sample.length !== params.length)
|
|
74
|
-
return false;
|
|
75
|
-
if (params.minLength !== undefined && sample.length < params.minLength)
|
|
76
|
-
return false;
|
|
77
|
-
if (params.maxLength !== undefined && sample.length > params.maxLength)
|
|
78
|
-
return false;
|
|
79
|
-
return true;
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
function pickSample(samples, random) {
|
|
83
|
-
if (!samples || samples.length === 0)
|
|
84
|
-
return undefined;
|
|
85
|
-
return samples[random.int(0, samples.length - 1)];
|
|
86
|
-
}
|
|
87
|
-
function toSampleList(samples) {
|
|
88
|
-
if (samples === undefined)
|
|
89
|
-
return undefined;
|
|
90
|
-
return typeof samples === 'string' ? [samples] : samples;
|
|
91
|
-
}
|
|
92
|
-
function asCharString(samples) {
|
|
93
|
-
return typeof samples === 'string' ? samples : undefined;
|
|
94
|
-
}
|
|
95
|
-
function randomStringFrom(chars, length, random) {
|
|
96
|
-
if (chars.length === 0)
|
|
97
|
-
return '';
|
|
98
|
-
let out = '';
|
|
99
|
-
for (let i = 0; i < length; i++)
|
|
100
|
-
out += chars[random.int(0, chars.length - 1)];
|
|
101
|
-
return out;
|
|
102
|
-
}
|
|
103
|
-
function pickMockLength(params, random) {
|
|
104
|
-
if (params.length !== undefined)
|
|
105
|
-
return params.length;
|
|
106
|
-
if (params.maxLength !== undefined && params.minLength !== undefined) {
|
|
107
|
-
return random.int(params.minLength, params.maxLength);
|
|
108
|
-
}
|
|
109
|
-
if (params.maxLength !== undefined)
|
|
110
|
-
return random.int(0, params.maxLength);
|
|
111
|
-
if (params.minLength !== undefined)
|
|
112
|
-
return random.int(params.minLength, params.minLength + 8);
|
|
113
|
-
return random.int(1, 16);
|
|
114
|
-
}
|
|
115
|
-
const MOCK_CHARS = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
|
|
116
|
-
function randomString(length, random) {
|
|
117
|
-
let out = '';
|
|
118
|
-
for (let i = 0; i < length; i++)
|
|
119
|
-
out += MOCK_CHARS[random.int(0, MOCK_CHARS.length - 1)];
|
|
120
|
-
return out;
|
|
121
|
-
}
|
|
122
|
-
function mockUuid(params, random) {
|
|
123
|
-
return params.version === '7' ? random.uuidV7() : random.uuidV4();
|
|
124
|
-
}
|
|
125
|
-
const TEST_CARD_NUMBERS = {
|
|
126
|
-
visa: ['4111111111111111', '4012888888881881', '4222222222222'],
|
|
127
|
-
mastercard: ['5555555555554444', '5105105105105100', '2223003122003222'],
|
|
128
|
-
amex: ['378282246310005', '371449635398431', '378734493671000'],
|
|
129
|
-
discover: ['6011111111111117', '6011000990139424'],
|
|
130
|
-
jcb: ['3530111333300000', '3566002020360505'],
|
|
131
|
-
diners: ['30569309025904', '38520000023237'],
|
|
132
|
-
unionpay: ['6200000000000005'],
|
|
133
|
-
maestro: ['6759649826438453', '6304000000000000'],
|
|
134
|
-
};
|
|
135
|
-
function generateCardNumber(network, random) {
|
|
136
|
-
const rule = (0, credit_card_pure_fns_ts_1.getCardNetworkRules)()[network];
|
|
137
|
-
const [low, high] = rule.prefixes[random.int(0, rule.prefixes.length - 1)];
|
|
138
|
-
const prefix = String(random.int(Number(low), Number(high))).padStart(low.length, '0');
|
|
139
|
-
const length = rule.lengths[random.int(0, rule.lengths.length - 1)];
|
|
140
|
-
let body = prefix.slice(0, length - 1);
|
|
141
|
-
while (body.length < length - 1)
|
|
142
|
-
body += String(random.int(0, 9));
|
|
143
|
-
return body + (0, credit_card_pure_fns_ts_1.luhnCheckDigit)(body);
|
|
144
|
-
}
|
|
145
|
-
function mockCreditCard(params, random, options) {
|
|
146
|
-
const networks = params.networks?.length ? params.networks : credit_card_pure_fns_ts_1.CARD_NETWORKS;
|
|
147
|
-
const network = networks[random.int(0, networks.length - 1)];
|
|
148
|
-
if (options?.testCreditCards) {
|
|
149
|
-
const pool = TEST_CARD_NUMBERS[network];
|
|
150
|
-
return pool[random.int(0, pool.length - 1)];
|
|
151
|
-
}
|
|
152
|
-
return generateCardNumber(network, random);
|
|
153
|
-
}
|
|
154
|
-
function negativeForStringFormat(annotation, value) {
|
|
155
|
-
if (annotation?.name !== 'creditCard' || typeof value !== 'string')
|
|
156
|
-
return undefined;
|
|
157
|
-
for (let i = value.length - 1; i >= 0; i--) {
|
|
158
|
-
const charCode = value.charCodeAt(i);
|
|
159
|
-
if (charCode < 48 || charCode > 57)
|
|
160
|
-
continue;
|
|
161
|
-
return value.slice(0, i) + String((charCode - 48 + 1) % 10) + value.slice(i + 1);
|
|
162
|
-
}
|
|
163
|
-
return 'not-a-card';
|
|
164
|
-
}
|
|
165
|
-
function mockIp(params, random) {
|
|
166
|
-
if (params.version === 4)
|
|
167
|
-
return mockIpV4(params, random);
|
|
168
|
-
if (params.version === 6)
|
|
169
|
-
return mockIpV6(params, random);
|
|
170
|
-
return random.float() > 0.5 ? mockIpV4(params, random) : mockIpV6(params, random);
|
|
171
|
-
}
|
|
172
|
-
function mockIpV4(params, random) {
|
|
173
|
-
if (params.allowLocalHost && random.float() > 0.8) {
|
|
174
|
-
return params.allowPort ? `localhost:${randomPort(random)}` : 'localhost';
|
|
175
|
-
}
|
|
176
|
-
const address = Array.from({ length: 4 }, () => random.int(0, 255)).join('.');
|
|
177
|
-
return params.allowPort ? `${address}:${randomPort(random)}` : address;
|
|
178
|
-
}
|
|
179
|
-
function mockIpV6(params, random) {
|
|
180
|
-
if (random.float() > 0.8) {
|
|
181
|
-
const loopback = random.float() > 0.5 ? '0:0:0:0:0:0:0:1' : '::1';
|
|
182
|
-
return params.allowPort ? `[${loopback}]` : loopback;
|
|
183
|
-
}
|
|
184
|
-
const address = Array.from({ length: 8 }, () => Math.floor(random.float() * 0xffff).toString(16)).join(':');
|
|
185
|
-
return params.allowPort ? `[${address}]:${randomPort(random)}` : address;
|
|
186
|
-
}
|
|
187
|
-
function randomPort(random) {
|
|
188
|
-
return random.int(0, 65535);
|
|
189
|
-
}
|
|
190
|
-
function mockDomain(params, random) {
|
|
191
|
-
if (params.allowedValues) {
|
|
192
|
-
const allowed = pickSample(params.allowedValues.val, random);
|
|
193
|
-
if (allowed !== undefined)
|
|
194
|
-
return allowed;
|
|
195
|
-
}
|
|
196
|
-
if (params.names || params.tld) {
|
|
197
|
-
const name = pickSample(domainPartSamples(params.names), random) ?? 'example';
|
|
198
|
-
const tld = pickSample(domainPartSamples(params.tld), random) ?? 'com';
|
|
199
|
-
return `${name}.${tld}`;
|
|
200
|
-
}
|
|
201
|
-
return pickSample(params.mockSamples ?? patternSampleList(asPattern(params.pattern)), random) ?? 'example.com';
|
|
202
|
-
}
|
|
203
|
-
function domainPartSamples(part) {
|
|
204
|
-
if (!part)
|
|
205
|
-
return undefined;
|
|
206
|
-
return toSampleList(part.mockSamples) ?? patternSampleList(asPattern(part.pattern));
|
|
207
|
-
}
|
|
208
|
-
function lengthFiltered(params, draw) {
|
|
209
|
-
const { minLength, maxLength } = params;
|
|
210
|
-
if (minLength === undefined && maxLength === undefined)
|
|
211
|
-
return draw();
|
|
212
|
-
for (let attempt = 0; attempt < 32; attempt++) {
|
|
213
|
-
const candidate = draw();
|
|
214
|
-
const size = [...candidate].length;
|
|
215
|
-
if ((minLength === undefined || size >= minLength) && (maxLength === undefined || size <= maxLength)) {
|
|
216
|
-
return candidate;
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
throw new Error('Cannot mock format: no sample satisfied the minLength/maxLength bounds after 32 attempts — widen the bounds or provide mockSamples that fit.');
|
|
220
|
-
}
|
|
221
|
-
function mockEmail(params, random) {
|
|
222
|
-
if (params.localPart || params.domain) {
|
|
223
|
-
const local = params.localPart ? mockStringParams(params.localPart, random) : 'user';
|
|
224
|
-
const domain = params.domain ? mockDomain(params.domain, random) : 'example.com';
|
|
225
|
-
return `${local}@${domain}`;
|
|
226
|
-
}
|
|
227
|
-
return pickSample(params.mockSamples ?? patternSampleList(asPattern(params.pattern)), random) ?? 'john@example.com';
|
|
228
|
-
}
|
|
229
|
-
function mockUrlObject(annotation, random = mockRandom_ts_1.nativeMockRandom) {
|
|
230
|
-
const params = (annotation?.name === 'nativeUrl' ? annotation.params : undefined) ?? {};
|
|
231
|
-
return new URL(lengthFiltered(params, () => new URL(mockUrl(params, random)).href));
|
|
232
|
-
}
|
|
233
|
-
function mockUrl(params, random) {
|
|
234
|
-
return pickSample(params.mockSamples ?? patternSampleList(asPattern(params.pattern)), random) ?? 'https://example.com';
|
|
235
|
-
}
|
|
236
|
-
function asPattern(pattern) {
|
|
237
|
-
return pattern;
|
|
238
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { MockRandom } from './mockRandom.ts';
|
|
2
|
-
export interface TemporalBounds {
|
|
3
|
-
min?: string;
|
|
4
|
-
max?: string;
|
|
5
|
-
gt?: string;
|
|
6
|
-
lt?: string;
|
|
7
|
-
}
|
|
8
|
-
export declare function mockTemporal(subKind: number, bounds: TemporalBounds | undefined, random: MockRandom): unknown;
|
|
9
|
-
export declare function temporalBoundsFromAnnotation(annotation: {
|
|
10
|
-
name?: string;
|
|
11
|
-
params?: Record<string, unknown>;
|
|
12
|
-
} | undefined): TemporalBounds | undefined;
|
|
13
|
-
export declare function isTemporalSubKind(subKind: number | undefined): boolean;
|
|
@@ -1,233 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.mockTemporal = mockTemporal;
|
|
4
|
-
exports.temporalBoundsFromAnnotation = temporalBoundsFromAnnotation;
|
|
5
|
-
exports.isTemporalSubKind = isTemporalSubKind;
|
|
6
|
-
const runTypeKind_generated_ts_1 = require("../go-generated/runTypeKind.generated.js");
|
|
7
|
-
function temporal() {
|
|
8
|
-
const t = globalThis.Temporal;
|
|
9
|
-
if (!t) {
|
|
10
|
-
throw new Error('[mion] Temporal is not available in this runtime. ' +
|
|
11
|
-
'Temporal ships natively in Node 26+ / modern browsers; on older runtimes install a polyfill ' +
|
|
12
|
-
"(e.g. `globalThis.Temporal = require('temporal-polyfill').Temporal`).");
|
|
13
|
-
}
|
|
14
|
-
return t;
|
|
15
|
-
}
|
|
16
|
-
const pad = (n, width = 2) => String(n).padStart(width, '0');
|
|
17
|
-
function randomDateParts(random) {
|
|
18
|
-
return { year: random.int(1970, 2099), month: random.int(1, 12), day: random.int(1, 28) };
|
|
19
|
-
}
|
|
20
|
-
function randomTimeParts(random) {
|
|
21
|
-
return { hour: random.int(0, 23), minute: random.int(0, 59), second: random.int(0, 59) };
|
|
22
|
-
}
|
|
23
|
-
function mockPlainDate(random) {
|
|
24
|
-
const d = randomDateParts(random);
|
|
25
|
-
return temporal().PlainDate.from(`${pad(d.year, 4)}-${pad(d.month)}-${pad(d.day)}`);
|
|
26
|
-
}
|
|
27
|
-
function mockPlainTime(random) {
|
|
28
|
-
const tm = randomTimeParts(random);
|
|
29
|
-
return temporal().PlainTime.from(`${pad(tm.hour)}:${pad(tm.minute)}:${pad(tm.second)}`);
|
|
30
|
-
}
|
|
31
|
-
function mockPlainDateTime(random) {
|
|
32
|
-
const d = randomDateParts(random);
|
|
33
|
-
const tm = randomTimeParts(random);
|
|
34
|
-
return temporal().PlainDateTime.from(`${pad(d.year, 4)}-${pad(d.month)}-${pad(d.day)}T${pad(tm.hour)}:${pad(tm.minute)}:${pad(tm.second)}`);
|
|
35
|
-
}
|
|
36
|
-
function mockPlainYearMonth(random) {
|
|
37
|
-
const d = randomDateParts(random);
|
|
38
|
-
return temporal().PlainYearMonth.from(`${pad(d.year, 4)}-${pad(d.month)}`);
|
|
39
|
-
}
|
|
40
|
-
function mockPlainMonthDay(random) {
|
|
41
|
-
const d = randomDateParts(random);
|
|
42
|
-
return temporal().PlainMonthDay.from(`${pad(d.month)}-${pad(d.day)}`);
|
|
43
|
-
}
|
|
44
|
-
function mockInstant(random) {
|
|
45
|
-
return temporal().Instant.fromEpochMilliseconds(random.int(0, 4102444800000));
|
|
46
|
-
}
|
|
47
|
-
function mockZonedDateTime(random) {
|
|
48
|
-
const d = randomDateParts(random);
|
|
49
|
-
const tm = randomTimeParts(random);
|
|
50
|
-
return temporal().ZonedDateTime.from(`${pad(d.year, 4)}-${pad(d.month)}-${pad(d.day)}T${pad(tm.hour)}:${pad(tm.minute)}:${pad(tm.second)}[UTC]`);
|
|
51
|
-
}
|
|
52
|
-
function mockDuration(random) {
|
|
53
|
-
return temporal().Duration.from(`P${random.int(0, 5)}Y${random.int(0, 11)}M${random.int(0, 27)}DT${random.int(0, 23)}H${random.int(0, 59)}M${random.int(0, 59)}S`);
|
|
54
|
-
}
|
|
55
|
-
const NS_PER_DAY = 86400000000000n;
|
|
56
|
-
const REF_DATE = '1970-01-01';
|
|
57
|
-
function instantFromNs(ns) {
|
|
58
|
-
return temporal().Instant.fromEpochNanoseconds(ns);
|
|
59
|
-
}
|
|
60
|
-
function boundAdapter(subKind, random) {
|
|
61
|
-
const T = temporal();
|
|
62
|
-
switch (subKind) {
|
|
63
|
-
case runTypeKind_generated_ts_1.RunTypeSubKind.temporalInstant:
|
|
64
|
-
return {
|
|
65
|
-
grid: 1n,
|
|
66
|
-
now: () => T.Now.instant(),
|
|
67
|
-
fromLiteral: (s) => T.Instant.from(s),
|
|
68
|
-
key: (i) => i.epochNanoseconds,
|
|
69
|
-
fromKey: (k) => T.Instant.fromEpochNanoseconds(k),
|
|
70
|
-
fallback: () => mockInstant(random),
|
|
71
|
-
};
|
|
72
|
-
case runTypeKind_generated_ts_1.RunTypeSubKind.temporalZonedDateTime:
|
|
73
|
-
return {
|
|
74
|
-
grid: 1n,
|
|
75
|
-
now: () => T.Now.zonedDateTimeISO(),
|
|
76
|
-
fromLiteral: (s) => T.ZonedDateTime.from(s),
|
|
77
|
-
key: (i) => i.epochNanoseconds,
|
|
78
|
-
fromKey: (k) => instantFromNs(k).toZonedDateTimeISO('UTC'),
|
|
79
|
-
fallback: () => mockZonedDateTime(random),
|
|
80
|
-
};
|
|
81
|
-
case runTypeKind_generated_ts_1.RunTypeSubKind.temporalPlainDate:
|
|
82
|
-
return {
|
|
83
|
-
grid: NS_PER_DAY,
|
|
84
|
-
now: () => T.Now.plainDateISO(),
|
|
85
|
-
fromLiteral: (s) => T.PlainDate.from(s),
|
|
86
|
-
key: (i) => i.toZonedDateTime('UTC').epochNanoseconds,
|
|
87
|
-
fromKey: (k) => instantFromNs(k).toZonedDateTimeISO('UTC').toPlainDate(),
|
|
88
|
-
fallback: () => mockPlainDate(random),
|
|
89
|
-
};
|
|
90
|
-
case runTypeKind_generated_ts_1.RunTypeSubKind.temporalPlainTime:
|
|
91
|
-
return {
|
|
92
|
-
grid: 1n,
|
|
93
|
-
now: () => T.Now.plainTimeISO(),
|
|
94
|
-
fromLiteral: (s) => T.PlainTime.from(s),
|
|
95
|
-
key: (i) => T.PlainDate.from(REF_DATE)
|
|
96
|
-
.toPlainDateTime(i)
|
|
97
|
-
.toZonedDateTime('UTC').epochNanoseconds,
|
|
98
|
-
fromKey: (k) => instantFromNs(k).toZonedDateTimeISO('UTC').toPlainTime(),
|
|
99
|
-
fallback: () => mockPlainTime(random),
|
|
100
|
-
};
|
|
101
|
-
case runTypeKind_generated_ts_1.RunTypeSubKind.temporalPlainDateTime:
|
|
102
|
-
return {
|
|
103
|
-
grid: 1n,
|
|
104
|
-
now: () => T.Now.plainDateTimeISO(),
|
|
105
|
-
fromLiteral: (s) => T.PlainDateTime.from(s),
|
|
106
|
-
key: (i) => i.toZonedDateTime('UTC').epochNanoseconds,
|
|
107
|
-
fromKey: (k) => instantFromNs(k).toZonedDateTimeISO('UTC').toPlainDateTime(),
|
|
108
|
-
fallback: () => mockPlainDateTime(random),
|
|
109
|
-
};
|
|
110
|
-
case runTypeKind_generated_ts_1.RunTypeSubKind.temporalPlainYearMonth:
|
|
111
|
-
return {
|
|
112
|
-
grid: 1n,
|
|
113
|
-
now: () => T.Now.plainDateISO(),
|
|
114
|
-
fromLiteral: (s) => T.PlainYearMonth.from(s),
|
|
115
|
-
key: (i) => {
|
|
116
|
-
const ym = i;
|
|
117
|
-
return BigInt(ym.year) * 12n + BigInt(ym.month - 1);
|
|
118
|
-
},
|
|
119
|
-
fromKey: (k) => T.PlainYearMonth.from({ year: Number(k / 12n), month: Number(k % 12n) + 1 }),
|
|
120
|
-
fallback: () => mockPlainYearMonth(random),
|
|
121
|
-
};
|
|
122
|
-
default:
|
|
123
|
-
return undefined;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
function shift(instance, sign, durationStr) {
|
|
127
|
-
const duration = temporal().Duration.from(durationStr);
|
|
128
|
-
const shiftable = instance;
|
|
129
|
-
return sign < 0 ? shiftable.subtract(duration) : shiftable.add(duration);
|
|
130
|
-
}
|
|
131
|
-
function boundKey(adapter, bound) {
|
|
132
|
-
if (bound.startsWith('now')) {
|
|
133
|
-
const rest = bound.slice(3);
|
|
134
|
-
let instance = adapter.now();
|
|
135
|
-
if (rest)
|
|
136
|
-
instance = shift(instance, rest[0] === '-' ? -1 : 1, rest.slice(1));
|
|
137
|
-
return adapter.key(instance);
|
|
138
|
-
}
|
|
139
|
-
return adapter.key(adapter.fromLiteral(bound));
|
|
140
|
-
}
|
|
141
|
-
function randomBigIntBelow(n, random) {
|
|
142
|
-
if (n <= 1n)
|
|
143
|
-
return 0n;
|
|
144
|
-
const bits = n.toString(2).length;
|
|
145
|
-
const mask = (1n << BigInt(bits)) - 1n;
|
|
146
|
-
let result;
|
|
147
|
-
do {
|
|
148
|
-
result = 0n;
|
|
149
|
-
for (let b = 0; b < bits; b += 30) {
|
|
150
|
-
result = (result << 30n) | BigInt(Math.floor(random.float() * (1 << 30)));
|
|
151
|
-
}
|
|
152
|
-
result &= mask;
|
|
153
|
-
} while (result >= n);
|
|
154
|
-
return result;
|
|
155
|
-
}
|
|
156
|
-
function randBigInt(lo, hi, random) {
|
|
157
|
-
if (hi <= lo)
|
|
158
|
-
return lo;
|
|
159
|
-
return lo + randomBigIntBelow(hi - lo + 1n, random);
|
|
160
|
-
}
|
|
161
|
-
function mockBoundedTemporal(adapter, bounds, random) {
|
|
162
|
-
let lo;
|
|
163
|
-
let hi;
|
|
164
|
-
const raise = (candidate) => {
|
|
165
|
-
if (lo === undefined || candidate > lo)
|
|
166
|
-
lo = candidate;
|
|
167
|
-
};
|
|
168
|
-
const lower = (candidate) => {
|
|
169
|
-
if (hi === undefined || candidate < hi)
|
|
170
|
-
hi = candidate;
|
|
171
|
-
};
|
|
172
|
-
if (bounds.min !== undefined)
|
|
173
|
-
raise(boundKey(adapter, bounds.min));
|
|
174
|
-
if (bounds.gt !== undefined)
|
|
175
|
-
raise(boundKey(adapter, bounds.gt) + adapter.grid);
|
|
176
|
-
if (bounds.max !== undefined)
|
|
177
|
-
lower(boundKey(adapter, bounds.max));
|
|
178
|
-
if (bounds.lt !== undefined)
|
|
179
|
-
lower(boundKey(adapter, bounds.lt) - adapter.grid);
|
|
180
|
-
if (lo === undefined && hi === undefined)
|
|
181
|
-
return adapter.fallback();
|
|
182
|
-
const spread = adapter.grid * 18250n;
|
|
183
|
-
if (lo === undefined)
|
|
184
|
-
lo = hi - spread;
|
|
185
|
-
if (hi === undefined)
|
|
186
|
-
hi = lo + spread;
|
|
187
|
-
if (hi < lo)
|
|
188
|
-
hi = lo;
|
|
189
|
-
return adapter.fromKey(randBigInt(lo, hi, random));
|
|
190
|
-
}
|
|
191
|
-
function mockTemporal(subKind, bounds, random) {
|
|
192
|
-
if (bounds) {
|
|
193
|
-
const adapter = boundAdapter(subKind, random);
|
|
194
|
-
if (adapter)
|
|
195
|
-
return mockBoundedTemporal(adapter, bounds, random);
|
|
196
|
-
}
|
|
197
|
-
switch (subKind) {
|
|
198
|
-
case runTypeKind_generated_ts_1.RunTypeSubKind.temporalInstant:
|
|
199
|
-
return mockInstant(random);
|
|
200
|
-
case runTypeKind_generated_ts_1.RunTypeSubKind.temporalZonedDateTime:
|
|
201
|
-
return mockZonedDateTime(random);
|
|
202
|
-
case runTypeKind_generated_ts_1.RunTypeSubKind.temporalPlainDate:
|
|
203
|
-
return mockPlainDate(random);
|
|
204
|
-
case runTypeKind_generated_ts_1.RunTypeSubKind.temporalPlainTime:
|
|
205
|
-
return mockPlainTime(random);
|
|
206
|
-
case runTypeKind_generated_ts_1.RunTypeSubKind.temporalPlainDateTime:
|
|
207
|
-
return mockPlainDateTime(random);
|
|
208
|
-
case runTypeKind_generated_ts_1.RunTypeSubKind.temporalPlainYearMonth:
|
|
209
|
-
return mockPlainYearMonth(random);
|
|
210
|
-
case runTypeKind_generated_ts_1.RunTypeSubKind.temporalPlainMonthDay:
|
|
211
|
-
return mockPlainMonthDay(random);
|
|
212
|
-
case runTypeKind_generated_ts_1.RunTypeSubKind.temporalDuration:
|
|
213
|
-
return mockDuration(random);
|
|
214
|
-
default:
|
|
215
|
-
return undefined;
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
function temporalBoundsFromAnnotation(annotation) {
|
|
219
|
-
if (!annotation || !annotation.name || !annotation.name.startsWith('temporal'))
|
|
220
|
-
return undefined;
|
|
221
|
-
const params = annotation.params ?? {};
|
|
222
|
-
const pick = (key) => (typeof params[key] === 'string' ? params[key] : undefined);
|
|
223
|
-
const min = pick('min');
|
|
224
|
-
const max = pick('max');
|
|
225
|
-
const gt = pick('gt');
|
|
226
|
-
const lt = pick('lt');
|
|
227
|
-
if (min === undefined && max === undefined && gt === undefined && lt === undefined)
|
|
228
|
-
return undefined;
|
|
229
|
-
return { min, max, gt, lt };
|
|
230
|
-
}
|
|
231
|
-
function isTemporalSubKind(subKind) {
|
|
232
|
-
return subKind !== undefined && subKind >= runTypeKind_generated_ts_1.RunTypeSubKind.temporalInstant && subKind <= runTypeKind_generated_ts_1.RunTypeSubKind.temporalDuration;
|
|
233
|
-
}
|