fullstacked 0.12.1-1359 → 0.12.1-1364
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/fullstacked_modules/@fullstacked/ai-agent/ai-agent.js +55352 -53576
- package/fullstacked_modules/@fullstacked/ai-agent/index.ts +0 -1
- package/fullstacked_modules/@fullstacked/ai-agent/lock.json +157 -152
- package/fullstacked_modules/@fullstacked/ai-agent/package.json +13 -13
- package/fullstacked_modules/@fullstacked/ai-agent/src/providers/ollama.ts +2 -2
- package/fullstacked_modules/@fullstacked/ui/index.js +6 -1
- package/fullstacked_modules/zod/README.md +4 -4
- package/fullstacked_modules/zod/index.cjs +2 -2
- package/fullstacked_modules/zod/index.d.cts +2 -2
- package/fullstacked_modules/zod/index.d.ts +2 -2
- package/fullstacked_modules/zod/index.js +2 -2
- package/fullstacked_modules/zod/locales/index.cjs +17 -0
- package/fullstacked_modules/zod/locales/index.d.cts +1 -0
- package/fullstacked_modules/zod/locales/index.d.ts +1 -0
- package/fullstacked_modules/zod/locales/index.js +1 -0
- package/fullstacked_modules/zod/locales/package.json +6 -0
- package/fullstacked_modules/zod/mini/index.cjs +17 -0
- package/fullstacked_modules/zod/mini/index.d.cts +1 -0
- package/fullstacked_modules/zod/mini/index.d.ts +1 -0
- package/fullstacked_modules/zod/mini/index.js +1 -0
- package/fullstacked_modules/zod/mini/package.json +6 -0
- package/fullstacked_modules/zod/package.json +29 -12
- package/fullstacked_modules/zod/src/index.ts +2 -2
- package/fullstacked_modules/zod/src/locales/index.ts +1 -0
- package/fullstacked_modules/zod/src/mini/index.ts +1 -0
- package/fullstacked_modules/zod/src/v3/ZodError.ts +1 -1
- package/fullstacked_modules/zod/src/v3/tests/object.test.ts +2 -2
- package/fullstacked_modules/zod/src/v3/tests/string.test.ts +2 -2
- package/fullstacked_modules/zod/src/v3/types.ts +3 -1
- package/fullstacked_modules/zod/src/v4/classic/checks.ts +1 -0
- package/fullstacked_modules/zod/src/v4/classic/compat.ts +4 -0
- package/fullstacked_modules/zod/src/v4/classic/errors.ts +9 -2
- package/fullstacked_modules/zod/src/v4/classic/external.ts +1 -1
- package/fullstacked_modules/zod/src/v4/classic/parse.ts +49 -0
- package/fullstacked_modules/zod/src/v4/classic/schemas.ts +224 -81
- package/fullstacked_modules/zod/src/v4/classic/tests/array.test.ts +6 -6
- package/fullstacked_modules/zod/src/v4/classic/tests/catch.test.ts +29 -5
- package/fullstacked_modules/zod/src/v4/classic/tests/codec-examples.test.ts +573 -0
- package/fullstacked_modules/zod/src/v4/classic/tests/codec.test.ts +562 -0
- package/fullstacked_modules/zod/src/v4/classic/tests/continuability.test.ts +1 -1
- package/fullstacked_modules/zod/src/v4/classic/tests/datetime.test.ts +6 -0
- package/fullstacked_modules/zod/src/v4/classic/tests/default.test.ts +52 -0
- package/fullstacked_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +42 -0
- package/fullstacked_modules/zod/src/v4/classic/tests/error-utils.test.ts +70 -2
- package/fullstacked_modules/zod/src/v4/classic/tests/file.test.ts +9 -4
- package/fullstacked_modules/zod/src/v4/classic/tests/firstparty.test.ts +4 -0
- package/fullstacked_modules/zod/src/v4/classic/tests/function.test.ts +71 -31
- package/fullstacked_modules/zod/src/v4/classic/tests/hash.test.ts +68 -0
- package/fullstacked_modules/zod/src/v4/classic/tests/index.test.ts +15 -0
- package/fullstacked_modules/zod/src/v4/classic/tests/literal.test.ts +25 -0
- package/fullstacked_modules/zod/src/v4/classic/tests/nonoptional.test.ts +15 -0
- package/fullstacked_modules/zod/src/v4/classic/tests/number.test.ts +23 -0
- package/fullstacked_modules/zod/src/v4/classic/tests/object.test.ts +48 -2
- package/fullstacked_modules/zod/src/v4/classic/tests/optional.test.ts +13 -0
- package/fullstacked_modules/zod/src/v4/classic/tests/partial.test.ts +193 -0
- package/fullstacked_modules/zod/src/v4/classic/tests/pickomit.test.ts +5 -5
- package/fullstacked_modules/zod/src/v4/classic/tests/pipe.test.ts +25 -5
- package/fullstacked_modules/zod/src/v4/classic/tests/prefault.test.ts +37 -0
- package/fullstacked_modules/zod/src/v4/classic/tests/preprocess.test.ts +5 -21
- package/fullstacked_modules/zod/src/v4/classic/tests/record.test.ts +15 -1
- package/fullstacked_modules/zod/src/v4/classic/tests/recursive-types.test.ts +226 -0
- package/fullstacked_modules/zod/src/v4/classic/tests/refine.test.ts +78 -5
- package/fullstacked_modules/zod/src/v4/classic/tests/set.test.ts +5 -3
- package/fullstacked_modules/zod/src/v4/classic/tests/string-formats.test.ts +16 -0
- package/fullstacked_modules/zod/src/v4/classic/tests/string.test.ts +204 -5
- package/fullstacked_modules/zod/src/v4/classic/tests/stringbool.test.ts +40 -0
- package/fullstacked_modules/zod/src/v4/classic/tests/template-literal.test.ts +14 -9
- package/fullstacked_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +315 -7
- package/fullstacked_modules/zod/src/v4/classic/tests/transform.test.ts +111 -0
- package/fullstacked_modules/zod/src/v4/classic/tests/tuple.test.ts +2 -2
- package/fullstacked_modules/zod/src/v4/classic/tests/union.test.ts +90 -3
- package/fullstacked_modules/zod/src/v4/core/api.ts +160 -133
- package/fullstacked_modules/zod/src/v4/core/checks.ts +6 -2
- package/fullstacked_modules/zod/src/v4/core/core.ts +9 -28
- package/fullstacked_modules/zod/src/v4/core/doc.ts +2 -2
- package/fullstacked_modules/zod/src/v4/core/errors.ts +49 -60
- package/fullstacked_modules/zod/src/v4/core/index.ts +0 -1
- package/fullstacked_modules/zod/src/v4/core/json-schema.ts +7 -3
- package/fullstacked_modules/zod/src/v4/core/parse.ts +101 -0
- package/fullstacked_modules/zod/src/v4/core/regexes.ts +56 -14
- package/fullstacked_modules/zod/src/v4/core/registries.ts +5 -4
- package/fullstacked_modules/zod/src/v4/core/schemas.ts +705 -230
- package/fullstacked_modules/zod/src/v4/core/tests/extend.test.ts +18 -0
- package/fullstacked_modules/zod/src/v4/core/tests/locales/es.test.ts +181 -0
- package/fullstacked_modules/zod/src/v4/core/to-json-schema.ts +100 -33
- package/fullstacked_modules/zod/src/v4/core/util.ts +237 -102
- package/fullstacked_modules/zod/src/v4/core/versions.ts +2 -2
- package/fullstacked_modules/zod/src/v4/locales/bg.ts +136 -0
- package/fullstacked_modules/zod/src/v4/locales/da.ts +141 -0
- package/fullstacked_modules/zod/src/v4/locales/es.ts +44 -10
- package/fullstacked_modules/zod/src/v4/locales/index.ts +8 -0
- package/fullstacked_modules/zod/src/v4/locales/is.ts +127 -0
- package/fullstacked_modules/zod/src/v4/locales/ka.ts +138 -0
- package/fullstacked_modules/zod/src/v4/locales/kh.ts +3 -122
- package/fullstacked_modules/zod/src/v4/locales/km.ts +126 -0
- package/fullstacked_modules/zod/src/v4/locales/lt.ts +265 -0
- package/fullstacked_modules/zod/src/v4/locales/ua.ts +3 -122
- package/fullstacked_modules/zod/src/v4/locales/uk.ts +126 -0
- package/fullstacked_modules/zod/src/v4/locales/yo.ts +131 -0
- package/fullstacked_modules/zod/src/v4/mini/external.ts +1 -1
- package/fullstacked_modules/zod/src/v4/mini/parse.ts +14 -1
- package/fullstacked_modules/zod/src/v4/mini/schemas.ts +186 -40
- package/fullstacked_modules/zod/src/v4/mini/tests/assignability.test.ts +1 -1
- package/fullstacked_modules/zod/src/v4/mini/tests/codec.test.ts +529 -0
- package/fullstacked_modules/zod/src/v4/mini/tests/computed.test.ts +1 -1
- package/fullstacked_modules/zod/src/v4/mini/tests/error.test.ts +1 -1
- package/fullstacked_modules/zod/src/v4/mini/tests/index.test.ts +29 -1
- package/fullstacked_modules/zod/src/v4/mini/tests/number.test.ts +1 -1
- package/fullstacked_modules/zod/src/v4/mini/tests/object.test.ts +16 -1
- package/fullstacked_modules/zod/src/v4/mini/tests/prototypes.test.ts +1 -1
- package/fullstacked_modules/zod/src/v4/mini/tests/recursive-types.test.ts +1 -1
- package/fullstacked_modules/zod/src/v4/mini/tests/string.test.ts +17 -1
- package/fullstacked_modules/zod/v3/ZodError.cjs +1 -1
- package/fullstacked_modules/zod/v3/ZodError.d.cts +6 -6
- package/fullstacked_modules/zod/v3/ZodError.d.ts +6 -6
- package/fullstacked_modules/zod/v3/ZodError.js +1 -1
- package/fullstacked_modules/zod/v3/locales/en.cjs +1 -0
- package/fullstacked_modules/zod/v3/locales/en.d.cts +1 -1
- package/fullstacked_modules/zod/v3/package.json +6 -0
- package/fullstacked_modules/zod/v3/types.cjs +2 -0
- package/fullstacked_modules/zod/v3/types.d.cts +4 -1
- package/fullstacked_modules/zod/v3/types.d.ts +4 -1
- package/fullstacked_modules/zod/v3/types.js +2 -0
- package/fullstacked_modules/zod/v4/classic/checks.d.cts +1 -1
- package/fullstacked_modules/zod/v4/classic/checks.d.ts +1 -1
- package/fullstacked_modules/zod/v4/classic/compat.cjs +5 -1
- package/fullstacked_modules/zod/v4/classic/compat.d.cts +4 -0
- package/fullstacked_modules/zod/v4/classic/compat.d.ts +4 -0
- package/fullstacked_modules/zod/v4/classic/compat.js +4 -0
- package/fullstacked_modules/zod/v4/classic/errors.cjs +9 -2
- package/fullstacked_modules/zod/v4/classic/errors.js +9 -2
- package/fullstacked_modules/zod/v4/classic/external.cjs +2 -2
- package/fullstacked_modules/zod/v4/classic/external.d.cts +1 -1
- package/fullstacked_modules/zod/v4/classic/external.d.ts +1 -1
- package/fullstacked_modules/zod/v4/classic/external.js +1 -1
- package/fullstacked_modules/zod/v4/classic/package.json +6 -0
- package/fullstacked_modules/zod/v4/classic/parse.cjs +10 -1
- package/fullstacked_modules/zod/v4/classic/parse.d.cts +8 -0
- package/fullstacked_modules/zod/v4/classic/parse.d.ts +8 -0
- package/fullstacked_modules/zod/v4/classic/parse.js +9 -0
- package/fullstacked_modules/zod/v4/classic/schemas.cjs +90 -48
- package/fullstacked_modules/zod/v4/classic/schemas.d.cts +70 -27
- package/fullstacked_modules/zod/v4/classic/schemas.d.ts +70 -27
- package/fullstacked_modules/zod/v4/classic/schemas.js +81 -47
- package/fullstacked_modules/zod/v4/core/api.cjs +52 -31
- package/fullstacked_modules/zod/v4/core/api.d.cts +87 -76
- package/fullstacked_modules/zod/v4/core/api.d.ts +87 -76
- package/fullstacked_modules/zod/v4/core/api.js +50 -31
- package/fullstacked_modules/zod/v4/core/checks.cjs +4 -0
- package/fullstacked_modules/zod/v4/core/checks.d.cts +2 -2
- package/fullstacked_modules/zod/v4/core/checks.d.ts +2 -2
- package/fullstacked_modules/zod/v4/core/checks.js +4 -0
- package/fullstacked_modules/zod/v4/core/core.cjs +8 -1
- package/fullstacked_modules/zod/v4/core/core.d.cts +5 -2
- package/fullstacked_modules/zod/v4/core/core.d.ts +5 -2
- package/fullstacked_modules/zod/v4/core/core.js +6 -0
- package/fullstacked_modules/zod/v4/core/doc.d.cts +1 -1
- package/fullstacked_modules/zod/v4/core/doc.d.ts +1 -1
- package/fullstacked_modules/zod/v4/core/errors.cjs +6 -19
- package/fullstacked_modules/zod/v4/core/errors.d.cts +24 -22
- package/fullstacked_modules/zod/v4/core/errors.d.ts +24 -22
- package/fullstacked_modules/zod/v4/core/errors.js +6 -19
- package/fullstacked_modules/zod/v4/core/index.cjs +0 -1
- package/fullstacked_modules/zod/v4/core/index.d.cts +0 -1
- package/fullstacked_modules/zod/v4/core/index.d.ts +0 -1
- package/fullstacked_modules/zod/v4/core/index.js +0 -1
- package/fullstacked_modules/zod/v4/core/json-schema.d.cts +4 -3
- package/fullstacked_modules/zod/v4/core/json-schema.d.ts +4 -3
- package/fullstacked_modules/zod/v4/core/package.json +6 -0
- package/fullstacked_modules/zod/v4/core/parse.cjs +45 -1
- package/fullstacked_modules/zod/v4/core/parse.d.cts +24 -0
- package/fullstacked_modules/zod/v4/core/parse.d.ts +24 -0
- package/fullstacked_modules/zod/v4/core/parse.js +36 -0
- package/fullstacked_modules/zod/v4/core/regexes.cjs +49 -16
- package/fullstacked_modules/zod/v4/core/regexes.d.cts +18 -2
- package/fullstacked_modules/zod/v4/core/regexes.d.ts +18 -2
- package/fullstacked_modules/zod/v4/core/regexes.js +46 -14
- package/fullstacked_modules/zod/v4/core/registries.cjs +4 -3
- package/fullstacked_modules/zod/v4/core/registries.d.cts +2 -2
- package/fullstacked_modules/zod/v4/core/registries.d.ts +2 -2
- package/fullstacked_modules/zod/v4/core/registries.js +4 -3
- package/fullstacked_modules/zod/v4/core/schemas.cjs +409 -171
- package/fullstacked_modules/zod/v4/core/schemas.d.cts +88 -16
- package/fullstacked_modules/zod/v4/core/schemas.d.ts +88 -16
- package/fullstacked_modules/zod/v4/core/schemas.js +408 -170
- package/fullstacked_modules/zod/v4/core/to-json-schema.cjs +97 -31
- package/fullstacked_modules/zod/v4/core/to-json-schema.d.cts +5 -3
- package/fullstacked_modules/zod/v4/core/to-json-schema.d.ts +5 -3
- package/fullstacked_modules/zod/v4/core/to-json-schema.js +97 -31
- package/fullstacked_modules/zod/v4/core/util.cjs +220 -101
- package/fullstacked_modules/zod/v4/core/util.d.cts +14 -0
- package/fullstacked_modules/zod/v4/core/util.d.ts +14 -0
- package/fullstacked_modules/zod/v4/core/util.js +209 -101
- package/fullstacked_modules/zod/v4/core/versions.cjs +2 -2
- package/fullstacked_modules/zod/v4/core/versions.d.cts +1 -1
- package/fullstacked_modules/zod/v4/core/versions.d.ts +1 -1
- package/fullstacked_modules/zod/v4/core/versions.js +2 -2
- package/fullstacked_modules/zod/v4/locales/ar.cjs +1 -0
- package/fullstacked_modules/zod/v4/locales/ar.d.cts +2 -1
- package/fullstacked_modules/zod/v4/locales/az.cjs +1 -0
- package/fullstacked_modules/zod/v4/locales/az.d.cts +2 -1
- package/fullstacked_modules/zod/v4/locales/be.cjs +1 -0
- package/fullstacked_modules/zod/v4/locales/be.d.cts +2 -1
- package/fullstacked_modules/zod/v4/locales/bg.cjs +156 -0
- package/fullstacked_modules/zod/v4/locales/bg.d.cts +5 -0
- package/fullstacked_modules/zod/v4/locales/bg.d.ts +5 -0
- package/fullstacked_modules/zod/v4/locales/bg.js +128 -0
- package/fullstacked_modules/zod/v4/locales/ca.cjs +1 -0
- package/fullstacked_modules/zod/v4/locales/ca.d.cts +2 -1
- package/fullstacked_modules/zod/v4/locales/cs.cjs +1 -0
- package/fullstacked_modules/zod/v4/locales/cs.d.cts +2 -1
- package/fullstacked_modules/zod/v4/locales/da.cjs +158 -0
- package/fullstacked_modules/zod/v4/locales/da.d.cts +5 -0
- package/fullstacked_modules/zod/v4/locales/da.d.ts +4 -0
- package/fullstacked_modules/zod/v4/locales/da.js +131 -0
- package/fullstacked_modules/zod/v4/locales/de.cjs +1 -0
- package/fullstacked_modules/zod/v4/locales/de.d.cts +2 -1
- package/fullstacked_modules/zod/v4/locales/es.cjs +43 -10
- package/fullstacked_modules/zod/v4/locales/es.d.cts +2 -1
- package/fullstacked_modules/zod/v4/locales/es.js +42 -10
- package/fullstacked_modules/zod/v4/locales/fa.cjs +1 -0
- package/fullstacked_modules/zod/v4/locales/fa.d.cts +2 -1
- package/fullstacked_modules/zod/v4/locales/fi.cjs +1 -0
- package/fullstacked_modules/zod/v4/locales/fi.d.cts +2 -1
- package/fullstacked_modules/zod/v4/locales/fr-CA.cjs +1 -0
- package/fullstacked_modules/zod/v4/locales/fr-CA.d.cts +2 -1
- package/fullstacked_modules/zod/v4/locales/fr.cjs +1 -0
- package/fullstacked_modules/zod/v4/locales/fr.d.cts +2 -1
- package/fullstacked_modules/zod/v4/locales/he.cjs +1 -0
- package/fullstacked_modules/zod/v4/locales/he.d.cts +2 -1
- package/fullstacked_modules/zod/v4/locales/hu.cjs +1 -0
- package/fullstacked_modules/zod/v4/locales/hu.d.cts +2 -1
- package/fullstacked_modules/zod/v4/locales/id.cjs +1 -0
- package/fullstacked_modules/zod/v4/locales/id.d.cts +2 -1
- package/fullstacked_modules/zod/v4/locales/index.cjs +17 -1
- package/fullstacked_modules/zod/v4/locales/index.d.cts +8 -0
- package/fullstacked_modules/zod/v4/locales/index.d.ts +8 -0
- package/fullstacked_modules/zod/v4/locales/index.js +8 -0
- package/fullstacked_modules/zod/v4/locales/is.cjs +145 -0
- package/fullstacked_modules/zod/v4/locales/is.d.cts +5 -0
- package/fullstacked_modules/zod/v4/locales/is.d.ts +5 -0
- package/fullstacked_modules/zod/v4/locales/is.js +117 -0
- package/fullstacked_modules/zod/v4/locales/it.cjs +1 -0
- package/fullstacked_modules/zod/v4/locales/it.d.cts +2 -1
- package/fullstacked_modules/zod/v4/locales/ja.cjs +1 -0
- package/fullstacked_modules/zod/v4/locales/ja.d.cts +2 -1
- package/fullstacked_modules/zod/v4/locales/ka.cjs +153 -0
- package/fullstacked_modules/zod/v4/locales/ka.d.cts +5 -0
- package/fullstacked_modules/zod/v4/locales/ka.d.ts +5 -0
- package/fullstacked_modules/zod/v4/locales/ka.js +125 -0
- package/fullstacked_modules/zod/v4/locales/kh.cjs +6 -137
- package/fullstacked_modules/zod/v4/locales/kh.d.cts +2 -1
- package/fullstacked_modules/zod/v4/locales/kh.d.ts +1 -0
- package/fullstacked_modules/zod/v4/locales/kh.js +3 -115
- package/fullstacked_modules/zod/v4/locales/km.cjs +144 -0
- package/fullstacked_modules/zod/v4/locales/km.d.cts +5 -0
- package/fullstacked_modules/zod/v4/locales/km.d.ts +4 -0
- package/fullstacked_modules/zod/v4/locales/km.js +117 -0
- package/fullstacked_modules/zod/v4/locales/ko.cjs +1 -0
- package/fullstacked_modules/zod/v4/locales/ko.d.cts +2 -1
- package/fullstacked_modules/zod/v4/locales/lt.cjs +258 -0
- package/fullstacked_modules/zod/v4/locales/lt.d.cts +5 -0
- package/fullstacked_modules/zod/v4/locales/lt.d.ts +5 -0
- package/fullstacked_modules/zod/v4/locales/lt.js +230 -0
- package/fullstacked_modules/zod/v4/locales/mk.cjs +1 -0
- package/fullstacked_modules/zod/v4/locales/mk.d.cts +2 -1
- package/fullstacked_modules/zod/v4/locales/ms.cjs +1 -0
- package/fullstacked_modules/zod/v4/locales/ms.d.cts +2 -1
- package/fullstacked_modules/zod/v4/locales/nl.cjs +1 -0
- package/fullstacked_modules/zod/v4/locales/nl.d.cts +2 -1
- package/fullstacked_modules/zod/v4/locales/no.cjs +1 -0
- package/fullstacked_modules/zod/v4/locales/no.d.cts +2 -1
- package/fullstacked_modules/zod/v4/locales/ota.cjs +1 -0
- package/fullstacked_modules/zod/v4/locales/ota.d.cts +2 -1
- package/fullstacked_modules/zod/v4/locales/package.json +6 -0
- package/fullstacked_modules/zod/v4/locales/pl.cjs +1 -0
- package/fullstacked_modules/zod/v4/locales/pl.d.cts +2 -1
- package/fullstacked_modules/zod/v4/locales/ps.cjs +1 -0
- package/fullstacked_modules/zod/v4/locales/ps.d.cts +2 -1
- package/fullstacked_modules/zod/v4/locales/pt.cjs +1 -0
- package/fullstacked_modules/zod/v4/locales/pt.d.cts +2 -1
- package/fullstacked_modules/zod/v4/locales/ru.cjs +1 -0
- package/fullstacked_modules/zod/v4/locales/ru.d.cts +2 -1
- package/fullstacked_modules/zod/v4/locales/sl.cjs +1 -0
- package/fullstacked_modules/zod/v4/locales/sl.d.cts +2 -1
- package/fullstacked_modules/zod/v4/locales/sv.cjs +1 -0
- package/fullstacked_modules/zod/v4/locales/sv.d.cts +2 -1
- package/fullstacked_modules/zod/v4/locales/ta.cjs +1 -0
- package/fullstacked_modules/zod/v4/locales/ta.d.cts +2 -1
- package/fullstacked_modules/zod/v4/locales/th.cjs +1 -0
- package/fullstacked_modules/zod/v4/locales/th.d.cts +2 -1
- package/fullstacked_modules/zod/v4/locales/ua.cjs +6 -137
- package/fullstacked_modules/zod/v4/locales/ua.d.cts +2 -1
- package/fullstacked_modules/zod/v4/locales/ua.d.ts +1 -0
- package/fullstacked_modules/zod/v4/locales/ua.js +3 -115
- package/fullstacked_modules/zod/v4/locales/uk.cjs +144 -0
- package/fullstacked_modules/zod/v4/locales/uk.d.cts +5 -0
- package/fullstacked_modules/zod/v4/locales/uk.d.ts +4 -0
- package/fullstacked_modules/zod/v4/locales/uk.js +117 -0
- package/fullstacked_modules/zod/v4/locales/ur.cjs +1 -0
- package/fullstacked_modules/zod/v4/locales/ur.d.cts +2 -1
- package/fullstacked_modules/zod/v4/locales/vi.cjs +1 -0
- package/fullstacked_modules/zod/v4/locales/vi.d.cts +2 -1
- package/fullstacked_modules/zod/v4/locales/yo.cjs +142 -0
- package/fullstacked_modules/zod/v4/locales/yo.d.cts +5 -0
- package/fullstacked_modules/zod/v4/locales/yo.d.ts +4 -0
- package/fullstacked_modules/zod/v4/locales/yo.js +115 -0
- package/fullstacked_modules/zod/v4/locales/zh-CN.cjs +1 -0
- package/fullstacked_modules/zod/v4/locales/zh-CN.d.cts +2 -1
- package/fullstacked_modules/zod/v4/locales/zh-TW.cjs +1 -0
- package/fullstacked_modules/zod/v4/locales/zh-TW.d.cts +2 -1
- package/fullstacked_modules/zod/v4/mini/external.cjs +2 -2
- package/fullstacked_modules/zod/v4/mini/external.d.cts +1 -1
- package/fullstacked_modules/zod/v4/mini/external.d.ts +1 -1
- package/fullstacked_modules/zod/v4/mini/external.js +1 -1
- package/fullstacked_modules/zod/v4/mini/package.json +6 -0
- package/fullstacked_modules/zod/v4/mini/parse.cjs +9 -1
- package/fullstacked_modules/zod/v4/mini/parse.d.cts +1 -1
- package/fullstacked_modules/zod/v4/mini/parse.d.ts +1 -1
- package/fullstacked_modules/zod/v4/mini/parse.js +1 -1
- package/fullstacked_modules/zod/v4/mini/schemas.cjs +77 -24
- package/fullstacked_modules/zod/v4/mini/schemas.d.cts +56 -5
- package/fullstacked_modules/zod/v4/mini/schemas.d.ts +56 -5
- package/fullstacked_modules/zod/v4/mini/schemas.js +66 -23
- package/fullstacked_modules/zod/v4/package.json +6 -0
- package/fullstacked_modules/zod/v4-mini/package.json +6 -0
- package/index.js +1 -1
- package/package.json +1 -1
- package/fullstacked_modules/@fullstacked/ai-agent/story.txt +0 -7
- package/fullstacked_modules/@fullstacked/ai-agent/summary.txt +0 -7
- package/fullstacked_modules/zod/src/v4/core/function.ts +0 -176
- package/fullstacked_modules/zod/v4/core/function.cjs +0 -102
- package/fullstacked_modules/zod/v4/core/function.d.cts +0 -52
- package/fullstacked_modules/zod/v4/core/function.d.ts +0 -52
- package/fullstacked_modules/zod/v4/core/function.js +0 -75
|
@@ -10,13 +10,7 @@ const initializer = (inst, def) => {
|
|
|
10
10
|
value: def,
|
|
11
11
|
enumerable: false,
|
|
12
12
|
});
|
|
13
|
-
|
|
14
|
-
get() {
|
|
15
|
-
return JSON.stringify(def, util.jsonStringifyReplacer, 2);
|
|
16
|
-
},
|
|
17
|
-
enumerable: true,
|
|
18
|
-
// configurable: false,
|
|
19
|
-
});
|
|
13
|
+
inst.message = JSON.stringify(def, util.jsonStringifyReplacer, 2);
|
|
20
14
|
Object.defineProperty(inst, "toString", {
|
|
21
15
|
value: () => inst.message,
|
|
22
16
|
enumerable: false,
|
|
@@ -38,11 +32,7 @@ export function flattenError(error, mapper = (issue) => issue.message) {
|
|
|
38
32
|
}
|
|
39
33
|
return { formErrors, fieldErrors };
|
|
40
34
|
}
|
|
41
|
-
export function formatError(error,
|
|
42
|
-
const mapper = _mapper ||
|
|
43
|
-
function (issue) {
|
|
44
|
-
return issue.message;
|
|
45
|
-
};
|
|
35
|
+
export function formatError(error, mapper = (issue) => issue.message) {
|
|
46
36
|
const fieldErrors = { _errors: [] };
|
|
47
37
|
const processError = (error) => {
|
|
48
38
|
for (const issue of error.issues) {
|
|
@@ -80,11 +70,7 @@ export function formatError(error, _mapper) {
|
|
|
80
70
|
processError(error);
|
|
81
71
|
return fieldErrors;
|
|
82
72
|
}
|
|
83
|
-
export function treeifyError(error,
|
|
84
|
-
const mapper = _mapper ||
|
|
85
|
-
function (issue) {
|
|
86
|
-
return issue.message;
|
|
87
|
-
};
|
|
73
|
+
export function treeifyError(error, mapper = (issue) => issue.message) {
|
|
88
74
|
const result = { errors: [] };
|
|
89
75
|
const processError = (error, path = []) => {
|
|
90
76
|
var _a, _b;
|
|
@@ -163,8 +149,9 @@ export function treeifyError(error, _mapper) {
|
|
|
163
149
|
* ✖ Invalid input: expected number
|
|
164
150
|
* ```
|
|
165
151
|
*/
|
|
166
|
-
export function toDotPath(
|
|
152
|
+
export function toDotPath(_path) {
|
|
167
153
|
const segs = [];
|
|
154
|
+
const path = _path.map((seg) => (typeof seg === "object" ? seg.key : seg));
|
|
168
155
|
for (const seg of path) {
|
|
169
156
|
if (typeof seg === "number")
|
|
170
157
|
segs.push(`[${seg}]`);
|
|
@@ -183,7 +170,7 @@ export function toDotPath(path) {
|
|
|
183
170
|
export function prettifyError(error) {
|
|
184
171
|
const lines = [];
|
|
185
172
|
// sort by path length
|
|
186
|
-
const issues = [...error.issues].sort((a, b) => a.path.length - b.path.length);
|
|
173
|
+
const issues = [...error.issues].sort((a, b) => (a.path ?? []).length - (b.path ?? []).length);
|
|
187
174
|
// Process each issue
|
|
188
175
|
for (const issue of issues) {
|
|
189
176
|
lines.push(`✖ ${issue.message}`);
|
|
@@ -38,7 +38,6 @@ exports.regexes = __importStar(require("./regexes.cjs"));
|
|
|
38
38
|
exports.locales = __importStar(require("../locales/index.cjs"));
|
|
39
39
|
__exportStar(require("./registries.cjs"), exports);
|
|
40
40
|
__exportStar(require("./doc.cjs"), exports);
|
|
41
|
-
__exportStar(require("./function.cjs"), exports);
|
|
42
41
|
__exportStar(require("./api.cjs"), exports);
|
|
43
42
|
__exportStar(require("./to-json-schema.cjs"), exports);
|
|
44
43
|
exports.JSONSchema = __importStar(require("./json-schema.cjs"));
|
|
@@ -9,7 +9,6 @@ export * as regexes from "./regexes.cjs";
|
|
|
9
9
|
export * as locales from "../locales/index.cjs";
|
|
10
10
|
export * from "./registries.cjs";
|
|
11
11
|
export * from "./doc.cjs";
|
|
12
|
-
export * from "./function.cjs";
|
|
13
12
|
export * from "./api.cjs";
|
|
14
13
|
export * from "./to-json-schema.cjs";
|
|
15
14
|
export * as JSONSchema from "./json-schema.cjs";
|
|
@@ -9,7 +9,6 @@ export * as regexes from "./regexes.js";
|
|
|
9
9
|
export * as locales from "../locales/index.js";
|
|
10
10
|
export * from "./registries.js";
|
|
11
11
|
export * from "./doc.js";
|
|
12
|
-
export * from "./function.js";
|
|
13
12
|
export * from "./api.js";
|
|
14
13
|
export * from "./to-json-schema.js";
|
|
15
14
|
export * as JSONSchema from "./json-schema.js";
|
|
@@ -9,7 +9,6 @@ export * as regexes from "./regexes.js";
|
|
|
9
9
|
export * as locales from "../locales/index.js";
|
|
10
10
|
export * from "./registries.js";
|
|
11
11
|
export * from "./doc.js";
|
|
12
|
-
export * from "./function.js";
|
|
13
12
|
export * from "./api.js";
|
|
14
13
|
export * from "./to-json-schema.js";
|
|
15
14
|
export * as JSONSchema from "./json-schema.js";
|
|
@@ -2,7 +2,7 @@ export type Schema = ObjectSchema | ArraySchema | StringSchema | NumberSchema |
|
|
|
2
2
|
export type _JSONSchema = boolean | JSONSchema;
|
|
3
3
|
export type JSONSchema = {
|
|
4
4
|
[k: string]: unknown;
|
|
5
|
-
$schema?: "https://json-schema.org/draft/2020-12/schema" | "http://json-schema.org/draft-07/schema#";
|
|
5
|
+
$schema?: "https://json-schema.org/draft/2020-12/schema" | "http://json-schema.org/draft-07/schema#" | "http://json-schema.org/draft-04/schema#";
|
|
6
6
|
$id?: string;
|
|
7
7
|
$anchor?: string;
|
|
8
8
|
$ref?: string;
|
|
@@ -32,9 +32,9 @@ export type JSONSchema = {
|
|
|
32
32
|
not?: _JSONSchema;
|
|
33
33
|
multipleOf?: number;
|
|
34
34
|
maximum?: number;
|
|
35
|
-
exclusiveMaximum?: number;
|
|
35
|
+
exclusiveMaximum?: number | boolean;
|
|
36
36
|
minimum?: number;
|
|
37
|
-
exclusiveMinimum?: number;
|
|
37
|
+
exclusiveMinimum?: number | boolean;
|
|
38
38
|
maxLength?: number;
|
|
39
39
|
minLength?: number;
|
|
40
40
|
pattern?: string;
|
|
@@ -56,6 +56,7 @@ export type JSONSchema = {
|
|
|
56
56
|
deprecated?: boolean;
|
|
57
57
|
readOnly?: boolean;
|
|
58
58
|
writeOnly?: boolean;
|
|
59
|
+
nullable?: boolean;
|
|
59
60
|
examples?: unknown[];
|
|
60
61
|
format?: string;
|
|
61
62
|
contentMediaType?: string;
|
|
@@ -2,7 +2,7 @@ export type Schema = ObjectSchema | ArraySchema | StringSchema | NumberSchema |
|
|
|
2
2
|
export type _JSONSchema = boolean | JSONSchema;
|
|
3
3
|
export type JSONSchema = {
|
|
4
4
|
[k: string]: unknown;
|
|
5
|
-
$schema?: "https://json-schema.org/draft/2020-12/schema" | "http://json-schema.org/draft-07/schema#";
|
|
5
|
+
$schema?: "https://json-schema.org/draft/2020-12/schema" | "http://json-schema.org/draft-07/schema#" | "http://json-schema.org/draft-04/schema#";
|
|
6
6
|
$id?: string;
|
|
7
7
|
$anchor?: string;
|
|
8
8
|
$ref?: string;
|
|
@@ -32,9 +32,9 @@ export type JSONSchema = {
|
|
|
32
32
|
not?: _JSONSchema;
|
|
33
33
|
multipleOf?: number;
|
|
34
34
|
maximum?: number;
|
|
35
|
-
exclusiveMaximum?: number;
|
|
35
|
+
exclusiveMaximum?: number | boolean;
|
|
36
36
|
minimum?: number;
|
|
37
|
-
exclusiveMinimum?: number;
|
|
37
|
+
exclusiveMinimum?: number | boolean;
|
|
38
38
|
maxLength?: number;
|
|
39
39
|
minLength?: number;
|
|
40
40
|
pattern?: string;
|
|
@@ -56,6 +56,7 @@ export type JSONSchema = {
|
|
|
56
56
|
deprecated?: boolean;
|
|
57
57
|
readOnly?: boolean;
|
|
58
58
|
writeOnly?: boolean;
|
|
59
|
+
nullable?: boolean;
|
|
59
60
|
examples?: unknown[];
|
|
60
61
|
format?: string;
|
|
61
62
|
contentMediaType?: string;
|
|
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.safeParseAsync = exports._safeParseAsync = exports.safeParse = exports._safeParse = exports.parseAsync = exports._parseAsync = exports.parse = exports._parse = void 0;
|
|
26
|
+
exports.safeDecodeAsync = exports._safeDecodeAsync = exports.safeEncodeAsync = exports._safeEncodeAsync = exports.safeDecode = exports._safeDecode = exports.safeEncode = exports._safeEncode = exports.decodeAsync = exports._decodeAsync = exports.encodeAsync = exports._encodeAsync = exports.decode = exports._decode = exports.encode = exports._encode = exports.safeParseAsync = exports._safeParseAsync = exports.safeParse = exports._safeParse = exports.parseAsync = exports._parseAsync = exports.parse = exports._parse = void 0;
|
|
27
27
|
const core = __importStar(require("./core.cjs"));
|
|
28
28
|
const errors = __importStar(require("./errors.cjs"));
|
|
29
29
|
const util = __importStar(require("./util.cjs"));
|
|
@@ -85,3 +85,47 @@ const _safeParseAsync = (_Err) => async (schema, value, _ctx) => {
|
|
|
85
85
|
};
|
|
86
86
|
exports._safeParseAsync = _safeParseAsync;
|
|
87
87
|
exports.safeParseAsync = (0, exports._safeParseAsync)(errors.$ZodRealError);
|
|
88
|
+
const _encode = (_Err) => (schema, value, _ctx) => {
|
|
89
|
+
const ctx = _ctx ? Object.assign(_ctx, { direction: "backward" }) : { direction: "backward" };
|
|
90
|
+
return (0, exports._parse)(_Err)(schema, value, ctx);
|
|
91
|
+
};
|
|
92
|
+
exports._encode = _encode;
|
|
93
|
+
exports.encode = (0, exports._encode)(errors.$ZodRealError);
|
|
94
|
+
const _decode = (_Err) => (schema, value, _ctx) => {
|
|
95
|
+
return (0, exports._parse)(_Err)(schema, value, _ctx);
|
|
96
|
+
};
|
|
97
|
+
exports._decode = _decode;
|
|
98
|
+
exports.decode = (0, exports._decode)(errors.$ZodRealError);
|
|
99
|
+
const _encodeAsync = (_Err) => async (schema, value, _ctx) => {
|
|
100
|
+
const ctx = _ctx ? Object.assign(_ctx, { direction: "backward" }) : { direction: "backward" };
|
|
101
|
+
return (0, exports._parseAsync)(_Err)(schema, value, ctx);
|
|
102
|
+
};
|
|
103
|
+
exports._encodeAsync = _encodeAsync;
|
|
104
|
+
exports.encodeAsync = (0, exports._encodeAsync)(errors.$ZodRealError);
|
|
105
|
+
const _decodeAsync = (_Err) => async (schema, value, _ctx) => {
|
|
106
|
+
return (0, exports._parseAsync)(_Err)(schema, value, _ctx);
|
|
107
|
+
};
|
|
108
|
+
exports._decodeAsync = _decodeAsync;
|
|
109
|
+
exports.decodeAsync = (0, exports._decodeAsync)(errors.$ZodRealError);
|
|
110
|
+
const _safeEncode = (_Err) => (schema, value, _ctx) => {
|
|
111
|
+
const ctx = _ctx ? Object.assign(_ctx, { direction: "backward" }) : { direction: "backward" };
|
|
112
|
+
return (0, exports._safeParse)(_Err)(schema, value, ctx);
|
|
113
|
+
};
|
|
114
|
+
exports._safeEncode = _safeEncode;
|
|
115
|
+
exports.safeEncode = (0, exports._safeEncode)(errors.$ZodRealError);
|
|
116
|
+
const _safeDecode = (_Err) => (schema, value, _ctx) => {
|
|
117
|
+
return (0, exports._safeParse)(_Err)(schema, value, _ctx);
|
|
118
|
+
};
|
|
119
|
+
exports._safeDecode = _safeDecode;
|
|
120
|
+
exports.safeDecode = (0, exports._safeDecode)(errors.$ZodRealError);
|
|
121
|
+
const _safeEncodeAsync = (_Err) => async (schema, value, _ctx) => {
|
|
122
|
+
const ctx = _ctx ? Object.assign(_ctx, { direction: "backward" }) : { direction: "backward" };
|
|
123
|
+
return (0, exports._safeParseAsync)(_Err)(schema, value, ctx);
|
|
124
|
+
};
|
|
125
|
+
exports._safeEncodeAsync = _safeEncodeAsync;
|
|
126
|
+
exports.safeEncodeAsync = (0, exports._safeEncodeAsync)(errors.$ZodRealError);
|
|
127
|
+
const _safeDecodeAsync = (_Err) => async (schema, value, _ctx) => {
|
|
128
|
+
return (0, exports._safeParseAsync)(_Err)(schema, value, _ctx);
|
|
129
|
+
};
|
|
130
|
+
exports._safeDecodeAsync = _safeDecodeAsync;
|
|
131
|
+
exports.safeDecodeAsync = (0, exports._safeDecodeAsync)(errors.$ZodRealError);
|
|
@@ -23,3 +23,27 @@ export declare const safeParse: $SafeParse;
|
|
|
23
23
|
export type $SafeParseAsync = <T extends schemas.$ZodType>(schema: T, value: unknown, _ctx?: schemas.ParseContext<errors.$ZodIssue>) => Promise<util.SafeParseResult<core.output<T>>>;
|
|
24
24
|
export declare const _safeParseAsync: (_Err: $ZodErrorClass) => $SafeParseAsync;
|
|
25
25
|
export declare const safeParseAsync: $SafeParseAsync;
|
|
26
|
+
export type $Encode = <T extends schemas.$ZodType>(schema: T, value: core.output<T>, _ctx?: schemas.ParseContext<errors.$ZodIssue>) => core.input<T>;
|
|
27
|
+
export declare const _encode: (_Err: $ZodErrorClass) => $Encode;
|
|
28
|
+
export declare const encode: $Encode;
|
|
29
|
+
export type $Decode = <T extends schemas.$ZodType>(schema: T, value: core.input<T>, _ctx?: schemas.ParseContext<errors.$ZodIssue>) => core.output<T>;
|
|
30
|
+
export declare const _decode: (_Err: $ZodErrorClass) => $Decode;
|
|
31
|
+
export declare const decode: $Decode;
|
|
32
|
+
export type $EncodeAsync = <T extends schemas.$ZodType>(schema: T, value: core.output<T>, _ctx?: schemas.ParseContext<errors.$ZodIssue>) => Promise<core.input<T>>;
|
|
33
|
+
export declare const _encodeAsync: (_Err: $ZodErrorClass) => $EncodeAsync;
|
|
34
|
+
export declare const encodeAsync: $EncodeAsync;
|
|
35
|
+
export type $DecodeAsync = <T extends schemas.$ZodType>(schema: T, value: core.input<T>, _ctx?: schemas.ParseContext<errors.$ZodIssue>) => Promise<core.output<T>>;
|
|
36
|
+
export declare const _decodeAsync: (_Err: $ZodErrorClass) => $DecodeAsync;
|
|
37
|
+
export declare const decodeAsync: $DecodeAsync;
|
|
38
|
+
export type $SafeEncode = <T extends schemas.$ZodType>(schema: T, value: core.output<T>, _ctx?: schemas.ParseContext<errors.$ZodIssue>) => util.SafeParseResult<core.input<T>>;
|
|
39
|
+
export declare const _safeEncode: (_Err: $ZodErrorClass) => $SafeEncode;
|
|
40
|
+
export declare const safeEncode: $SafeEncode;
|
|
41
|
+
export type $SafeDecode = <T extends schemas.$ZodType>(schema: T, value: core.input<T>, _ctx?: schemas.ParseContext<errors.$ZodIssue>) => util.SafeParseResult<core.output<T>>;
|
|
42
|
+
export declare const _safeDecode: (_Err: $ZodErrorClass) => $SafeDecode;
|
|
43
|
+
export declare const safeDecode: $SafeDecode;
|
|
44
|
+
export type $SafeEncodeAsync = <T extends schemas.$ZodType>(schema: T, value: core.output<T>, _ctx?: schemas.ParseContext<errors.$ZodIssue>) => Promise<util.SafeParseResult<core.input<T>>>;
|
|
45
|
+
export declare const _safeEncodeAsync: (_Err: $ZodErrorClass) => $SafeEncodeAsync;
|
|
46
|
+
export declare const safeEncodeAsync: $SafeEncodeAsync;
|
|
47
|
+
export type $SafeDecodeAsync = <T extends schemas.$ZodType>(schema: T, value: core.input<T>, _ctx?: schemas.ParseContext<errors.$ZodIssue>) => Promise<util.SafeParseResult<core.output<T>>>;
|
|
48
|
+
export declare const _safeDecodeAsync: (_Err: $ZodErrorClass) => $SafeDecodeAsync;
|
|
49
|
+
export declare const safeDecodeAsync: $SafeDecodeAsync;
|
|
@@ -23,3 +23,27 @@ export declare const safeParse: $SafeParse;
|
|
|
23
23
|
export type $SafeParseAsync = <T extends schemas.$ZodType>(schema: T, value: unknown, _ctx?: schemas.ParseContext<errors.$ZodIssue>) => Promise<util.SafeParseResult<core.output<T>>>;
|
|
24
24
|
export declare const _safeParseAsync: (_Err: $ZodErrorClass) => $SafeParseAsync;
|
|
25
25
|
export declare const safeParseAsync: $SafeParseAsync;
|
|
26
|
+
export type $Encode = <T extends schemas.$ZodType>(schema: T, value: core.output<T>, _ctx?: schemas.ParseContext<errors.$ZodIssue>) => core.input<T>;
|
|
27
|
+
export declare const _encode: (_Err: $ZodErrorClass) => $Encode;
|
|
28
|
+
export declare const encode: $Encode;
|
|
29
|
+
export type $Decode = <T extends schemas.$ZodType>(schema: T, value: core.input<T>, _ctx?: schemas.ParseContext<errors.$ZodIssue>) => core.output<T>;
|
|
30
|
+
export declare const _decode: (_Err: $ZodErrorClass) => $Decode;
|
|
31
|
+
export declare const decode: $Decode;
|
|
32
|
+
export type $EncodeAsync = <T extends schemas.$ZodType>(schema: T, value: core.output<T>, _ctx?: schemas.ParseContext<errors.$ZodIssue>) => Promise<core.input<T>>;
|
|
33
|
+
export declare const _encodeAsync: (_Err: $ZodErrorClass) => $EncodeAsync;
|
|
34
|
+
export declare const encodeAsync: $EncodeAsync;
|
|
35
|
+
export type $DecodeAsync = <T extends schemas.$ZodType>(schema: T, value: core.input<T>, _ctx?: schemas.ParseContext<errors.$ZodIssue>) => Promise<core.output<T>>;
|
|
36
|
+
export declare const _decodeAsync: (_Err: $ZodErrorClass) => $DecodeAsync;
|
|
37
|
+
export declare const decodeAsync: $DecodeAsync;
|
|
38
|
+
export type $SafeEncode = <T extends schemas.$ZodType>(schema: T, value: core.output<T>, _ctx?: schemas.ParseContext<errors.$ZodIssue>) => util.SafeParseResult<core.input<T>>;
|
|
39
|
+
export declare const _safeEncode: (_Err: $ZodErrorClass) => $SafeEncode;
|
|
40
|
+
export declare const safeEncode: $SafeEncode;
|
|
41
|
+
export type $SafeDecode = <T extends schemas.$ZodType>(schema: T, value: core.input<T>, _ctx?: schemas.ParseContext<errors.$ZodIssue>) => util.SafeParseResult<core.output<T>>;
|
|
42
|
+
export declare const _safeDecode: (_Err: $ZodErrorClass) => $SafeDecode;
|
|
43
|
+
export declare const safeDecode: $SafeDecode;
|
|
44
|
+
export type $SafeEncodeAsync = <T extends schemas.$ZodType>(schema: T, value: core.output<T>, _ctx?: schemas.ParseContext<errors.$ZodIssue>) => Promise<util.SafeParseResult<core.input<T>>>;
|
|
45
|
+
export declare const _safeEncodeAsync: (_Err: $ZodErrorClass) => $SafeEncodeAsync;
|
|
46
|
+
export declare const safeEncodeAsync: $SafeEncodeAsync;
|
|
47
|
+
export type $SafeDecodeAsync = <T extends schemas.$ZodType>(schema: T, value: core.input<T>, _ctx?: schemas.ParseContext<errors.$ZodIssue>) => Promise<util.SafeParseResult<core.output<T>>>;
|
|
48
|
+
export declare const _safeDecodeAsync: (_Err: $ZodErrorClass) => $SafeDecodeAsync;
|
|
49
|
+
export declare const safeDecodeAsync: $SafeDecodeAsync;
|
|
@@ -55,3 +55,39 @@ export const _safeParseAsync = (_Err) => async (schema, value, _ctx) => {
|
|
|
55
55
|
: { success: true, data: result.value };
|
|
56
56
|
};
|
|
57
57
|
export const safeParseAsync = /* @__PURE__*/ _safeParseAsync(errors.$ZodRealError);
|
|
58
|
+
export const _encode = (_Err) => (schema, value, _ctx) => {
|
|
59
|
+
const ctx = _ctx ? Object.assign(_ctx, { direction: "backward" }) : { direction: "backward" };
|
|
60
|
+
return _parse(_Err)(schema, value, ctx);
|
|
61
|
+
};
|
|
62
|
+
export const encode = /* @__PURE__*/ _encode(errors.$ZodRealError);
|
|
63
|
+
export const _decode = (_Err) => (schema, value, _ctx) => {
|
|
64
|
+
return _parse(_Err)(schema, value, _ctx);
|
|
65
|
+
};
|
|
66
|
+
export const decode = /* @__PURE__*/ _decode(errors.$ZodRealError);
|
|
67
|
+
export const _encodeAsync = (_Err) => async (schema, value, _ctx) => {
|
|
68
|
+
const ctx = _ctx ? Object.assign(_ctx, { direction: "backward" }) : { direction: "backward" };
|
|
69
|
+
return _parseAsync(_Err)(schema, value, ctx);
|
|
70
|
+
};
|
|
71
|
+
export const encodeAsync = /* @__PURE__*/ _encodeAsync(errors.$ZodRealError);
|
|
72
|
+
export const _decodeAsync = (_Err) => async (schema, value, _ctx) => {
|
|
73
|
+
return _parseAsync(_Err)(schema, value, _ctx);
|
|
74
|
+
};
|
|
75
|
+
export const decodeAsync = /* @__PURE__*/ _decodeAsync(errors.$ZodRealError);
|
|
76
|
+
export const _safeEncode = (_Err) => (schema, value, _ctx) => {
|
|
77
|
+
const ctx = _ctx ? Object.assign(_ctx, { direction: "backward" }) : { direction: "backward" };
|
|
78
|
+
return _safeParse(_Err)(schema, value, ctx);
|
|
79
|
+
};
|
|
80
|
+
export const safeEncode = /* @__PURE__*/ _safeEncode(errors.$ZodRealError);
|
|
81
|
+
export const _safeDecode = (_Err) => (schema, value, _ctx) => {
|
|
82
|
+
return _safeParse(_Err)(schema, value, _ctx);
|
|
83
|
+
};
|
|
84
|
+
export const safeDecode = /* @__PURE__*/ _safeDecode(errors.$ZodRealError);
|
|
85
|
+
export const _safeEncodeAsync = (_Err) => async (schema, value, _ctx) => {
|
|
86
|
+
const ctx = _ctx ? Object.assign(_ctx, { direction: "backward" }) : { direction: "backward" };
|
|
87
|
+
return _safeParseAsync(_Err)(schema, value, ctx);
|
|
88
|
+
};
|
|
89
|
+
export const safeEncodeAsync = /* @__PURE__*/ _safeEncodeAsync(errors.$ZodRealError);
|
|
90
|
+
export const _safeDecodeAsync = (_Err) => async (schema, value, _ctx) => {
|
|
91
|
+
return _safeParseAsync(_Err)(schema, value, _ctx);
|
|
92
|
+
};
|
|
93
|
+
export const safeDecodeAsync = /* @__PURE__*/ _safeDecodeAsync(errors.$ZodRealError);
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.uppercase = exports.lowercase = exports.undefined = exports.null = exports.boolean = exports.number = exports.integer = exports.bigint = exports.string = exports.date = exports.e164 = exports.domain = exports.hostname = exports.base64url = exports.base64 = exports.cidrv6 = exports.cidrv4 = exports.ipv6 = exports.ipv4 = exports.
|
|
3
|
+
exports.sha384_base64 = exports.sha384_hex = exports.sha256_base64url = exports.sha256_base64 = exports.sha256_hex = exports.sha1_base64url = exports.sha1_base64 = exports.sha1_hex = exports.md5_base64url = exports.md5_base64 = exports.md5_hex = exports.hex = exports.uppercase = exports.lowercase = exports.undefined = exports.null = exports.boolean = exports.number = exports.integer = exports.bigint = exports.string = exports.date = exports.e164 = exports.domain = exports.hostname = exports.base64url = exports.base64 = exports.cidrv6 = exports.cidrv4 = exports.ipv6 = exports.ipv4 = exports.browserEmail = exports.idnEmail = exports.unicodeEmail = exports.rfc5322Email = exports.html5Email = exports.email = exports.uuid7 = exports.uuid6 = exports.uuid4 = exports.uuid = exports.guid = exports.extendedDuration = exports.duration = exports.nanoid = exports.ksuid = exports.xid = exports.ulid = exports.cuid2 = exports.cuid = void 0;
|
|
4
|
+
exports.sha512_base64url = exports.sha512_base64 = exports.sha512_hex = exports.sha384_base64url = void 0;
|
|
4
5
|
exports.emoji = emoji;
|
|
5
6
|
exports.time = time;
|
|
6
7
|
exports.datetime = datetime;
|
|
@@ -16,12 +17,12 @@ exports.duration = /^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\
|
|
|
16
17
|
exports.extendedDuration = /^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/;
|
|
17
18
|
/** A regex for any UUID-like identifier: 8-4-4-4-12 hex pattern */
|
|
18
19
|
exports.guid = /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/;
|
|
19
|
-
/** Returns a regex for validating an RFC 4122 UUID.
|
|
20
|
+
/** Returns a regex for validating an RFC 9562/4122 UUID.
|
|
20
21
|
*
|
|
21
22
|
* @param version Optionally specify a version 1-8. If no version is specified, all versions are supported. */
|
|
22
23
|
const uuid = (version) => {
|
|
23
24
|
if (!version)
|
|
24
|
-
return /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/;
|
|
25
|
+
return /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;
|
|
25
26
|
return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${version}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`);
|
|
26
27
|
};
|
|
27
28
|
exports.uuid = uuid;
|
|
@@ -36,23 +37,23 @@ exports.html5Email = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9
|
|
|
36
37
|
exports.rfc5322Email = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
|
|
37
38
|
/** A loose regex that allows Unicode characters, enforces length limits, and that's about it. */
|
|
38
39
|
exports.unicodeEmail = /^[^\s@"]{1,64}@[^\s@]{1,255}$/u;
|
|
40
|
+
exports.idnEmail = exports.unicodeEmail;
|
|
39
41
|
exports.browserEmail = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[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])?)*$/;
|
|
40
42
|
// from https://thekevinscott.com/emojis-in-javascript/#writing-a-regular-expression
|
|
41
|
-
|
|
43
|
+
const _emoji = `^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`;
|
|
42
44
|
function emoji() {
|
|
43
|
-
return new RegExp(
|
|
45
|
+
return new RegExp(_emoji, "u");
|
|
44
46
|
}
|
|
45
47
|
exports.ipv4 = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;
|
|
46
|
-
exports.ipv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}
|
|
48
|
+
exports.ipv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/;
|
|
47
49
|
exports.cidrv4 = /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/;
|
|
48
50
|
exports.cidrv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/;
|
|
49
51
|
// https://stackoverflow.com/questions/7860392/determine-if-string-is-in-base64-using-javascript
|
|
50
52
|
exports.base64 = /^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/;
|
|
51
53
|
exports.base64url = /^[A-Za-z0-9_-]*$/;
|
|
52
54
|
// based on https://stackoverflow.com/questions/106179/regular-expression-to-match-dns-hostname-or-ip-address
|
|
53
|
-
// export const hostname: RegExp =
|
|
54
|
-
|
|
55
|
-
exports.hostname = /^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;
|
|
55
|
+
// export const hostname: RegExp = /^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;
|
|
56
|
+
exports.hostname = /^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/;
|
|
56
57
|
exports.domain = /^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/;
|
|
57
58
|
// https://blog.stevenlevithan.com/archives/validate-phone-number#r4-3 (regex sans spaces)
|
|
58
59
|
exports.e164 = /^\+(?:[0-9]){6,14}[0-9]$/;
|
|
@@ -79,8 +80,9 @@ function datetime(args) {
|
|
|
79
80
|
const opts = ["Z"];
|
|
80
81
|
if (args.local)
|
|
81
82
|
opts.push("");
|
|
83
|
+
// if (args.offset) opts.push(`([+-]\\d{2}:\\d{2})`);
|
|
82
84
|
if (args.offset)
|
|
83
|
-
opts.push(`([+-]\\d
|
|
85
|
+
opts.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);
|
|
84
86
|
const timeRegex = `${time}(?:${opts.join("|")})`;
|
|
85
87
|
return new RegExp(`^${dateSource}T(?:${timeRegex})$`);
|
|
86
88
|
}
|
|
@@ -89,15 +91,46 @@ const string = (params) => {
|
|
|
89
91
|
return new RegExp(`^${regex}$`);
|
|
90
92
|
};
|
|
91
93
|
exports.string = string;
|
|
92
|
-
exports.bigint =
|
|
93
|
-
exports.integer =
|
|
94
|
-
exports.number = /^-?\d+(?:\.\d+)
|
|
95
|
-
exports.boolean =
|
|
96
|
-
const _null =
|
|
94
|
+
exports.bigint = /^-?\d+n?$/;
|
|
95
|
+
exports.integer = /^-?\d+$/;
|
|
96
|
+
exports.number = /^-?\d+(?:\.\d+)?/;
|
|
97
|
+
exports.boolean = /^(?:true|false)$/i;
|
|
98
|
+
const _null = /^null$/i;
|
|
97
99
|
exports.null = _null;
|
|
98
|
-
const _undefined =
|
|
100
|
+
const _undefined = /^undefined$/i;
|
|
99
101
|
exports.undefined = _undefined;
|
|
100
102
|
// regex for string with no uppercase letters
|
|
101
103
|
exports.lowercase = /^[^A-Z]*$/;
|
|
102
104
|
// regex for string with no lowercase letters
|
|
103
105
|
exports.uppercase = /^[^a-z]*$/;
|
|
106
|
+
// regex for hexadecimal strings (any length)
|
|
107
|
+
exports.hex = /^[0-9a-fA-F]*$/;
|
|
108
|
+
// Hash regexes for different algorithms and encodings
|
|
109
|
+
// Helper function to create base64 regex with exact length and padding
|
|
110
|
+
function fixedBase64(bodyLength, padding) {
|
|
111
|
+
return new RegExp(`^[A-Za-z0-9+/]{${bodyLength}}${padding}$`);
|
|
112
|
+
}
|
|
113
|
+
// Helper function to create base64url regex with exact length (no padding)
|
|
114
|
+
function fixedBase64url(length) {
|
|
115
|
+
return new RegExp(`^[A-Za-z0-9_-]{${length}}$`);
|
|
116
|
+
}
|
|
117
|
+
// MD5 (16 bytes): base64 = 24 chars total (22 + "==")
|
|
118
|
+
exports.md5_hex = /^[0-9a-fA-F]{32}$/;
|
|
119
|
+
exports.md5_base64 = fixedBase64(22, "==");
|
|
120
|
+
exports.md5_base64url = fixedBase64url(22);
|
|
121
|
+
// SHA1 (20 bytes): base64 = 28 chars total (27 + "=")
|
|
122
|
+
exports.sha1_hex = /^[0-9a-fA-F]{40}$/;
|
|
123
|
+
exports.sha1_base64 = fixedBase64(27, "=");
|
|
124
|
+
exports.sha1_base64url = fixedBase64url(27);
|
|
125
|
+
// SHA256 (32 bytes): base64 = 44 chars total (43 + "=")
|
|
126
|
+
exports.sha256_hex = /^[0-9a-fA-F]{64}$/;
|
|
127
|
+
exports.sha256_base64 = fixedBase64(43, "=");
|
|
128
|
+
exports.sha256_base64url = fixedBase64url(43);
|
|
129
|
+
// SHA384 (48 bytes): base64 = 64 chars total (no padding)
|
|
130
|
+
exports.sha384_hex = /^[0-9a-fA-F]{96}$/;
|
|
131
|
+
exports.sha384_base64 = fixedBase64(64, "");
|
|
132
|
+
exports.sha384_base64url = fixedBase64url(64);
|
|
133
|
+
// SHA512 (64 bytes): base64 = 88 chars total (86 + "==")
|
|
134
|
+
exports.sha512_hex = /^[0-9a-fA-F]{128}$/;
|
|
135
|
+
exports.sha512_base64 = fixedBase64(86, "==");
|
|
136
|
+
exports.sha512_base64url = fixedBase64url(86);
|
|
@@ -10,7 +10,7 @@ export declare const duration: RegExp;
|
|
|
10
10
|
export declare const extendedDuration: RegExp;
|
|
11
11
|
/** A regex for any UUID-like identifier: 8-4-4-4-12 hex pattern */
|
|
12
12
|
export declare const guid: RegExp;
|
|
13
|
-
/** Returns a regex for validating an RFC 4122 UUID.
|
|
13
|
+
/** Returns a regex for validating an RFC 9562/4122 UUID.
|
|
14
14
|
*
|
|
15
15
|
* @param version Optionally specify a version 1-8. If no version is specified, all versions are supported. */
|
|
16
16
|
export declare const uuid: (version?: number | undefined) => RegExp;
|
|
@@ -25,8 +25,8 @@ export declare const html5Email: RegExp;
|
|
|
25
25
|
export declare const rfc5322Email: RegExp;
|
|
26
26
|
/** A loose regex that allows Unicode characters, enforces length limits, and that's about it. */
|
|
27
27
|
export declare const unicodeEmail: RegExp;
|
|
28
|
+
export declare const idnEmail: RegExp;
|
|
28
29
|
export declare const browserEmail: RegExp;
|
|
29
|
-
export declare const _emoji = "^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";
|
|
30
30
|
export declare function emoji(): RegExp;
|
|
31
31
|
export declare const ipv4: RegExp;
|
|
32
32
|
export declare const ipv6: RegExp;
|
|
@@ -60,3 +60,19 @@ declare const _undefined: RegExp;
|
|
|
60
60
|
export { _undefined as undefined };
|
|
61
61
|
export declare const lowercase: RegExp;
|
|
62
62
|
export declare const uppercase: RegExp;
|
|
63
|
+
export declare const hex: RegExp;
|
|
64
|
+
export declare const md5_hex: RegExp;
|
|
65
|
+
export declare const md5_base64: RegExp;
|
|
66
|
+
export declare const md5_base64url: RegExp;
|
|
67
|
+
export declare const sha1_hex: RegExp;
|
|
68
|
+
export declare const sha1_base64: RegExp;
|
|
69
|
+
export declare const sha1_base64url: RegExp;
|
|
70
|
+
export declare const sha256_hex: RegExp;
|
|
71
|
+
export declare const sha256_base64: RegExp;
|
|
72
|
+
export declare const sha256_base64url: RegExp;
|
|
73
|
+
export declare const sha384_hex: RegExp;
|
|
74
|
+
export declare const sha384_base64: RegExp;
|
|
75
|
+
export declare const sha384_base64url: RegExp;
|
|
76
|
+
export declare const sha512_hex: RegExp;
|
|
77
|
+
export declare const sha512_base64: RegExp;
|
|
78
|
+
export declare const sha512_base64url: RegExp;
|
|
@@ -10,7 +10,7 @@ export declare const duration: RegExp;
|
|
|
10
10
|
export declare const extendedDuration: RegExp;
|
|
11
11
|
/** A regex for any UUID-like identifier: 8-4-4-4-12 hex pattern */
|
|
12
12
|
export declare const guid: RegExp;
|
|
13
|
-
/** Returns a regex for validating an RFC 4122 UUID.
|
|
13
|
+
/** Returns a regex for validating an RFC 9562/4122 UUID.
|
|
14
14
|
*
|
|
15
15
|
* @param version Optionally specify a version 1-8. If no version is specified, all versions are supported. */
|
|
16
16
|
export declare const uuid: (version?: number | undefined) => RegExp;
|
|
@@ -25,8 +25,8 @@ export declare const html5Email: RegExp;
|
|
|
25
25
|
export declare const rfc5322Email: RegExp;
|
|
26
26
|
/** A loose regex that allows Unicode characters, enforces length limits, and that's about it. */
|
|
27
27
|
export declare const unicodeEmail: RegExp;
|
|
28
|
+
export declare const idnEmail: RegExp;
|
|
28
29
|
export declare const browserEmail: RegExp;
|
|
29
|
-
export declare const _emoji = "^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";
|
|
30
30
|
export declare function emoji(): RegExp;
|
|
31
31
|
export declare const ipv4: RegExp;
|
|
32
32
|
export declare const ipv6: RegExp;
|
|
@@ -60,3 +60,19 @@ declare const _undefined: RegExp;
|
|
|
60
60
|
export { _undefined as undefined };
|
|
61
61
|
export declare const lowercase: RegExp;
|
|
62
62
|
export declare const uppercase: RegExp;
|
|
63
|
+
export declare const hex: RegExp;
|
|
64
|
+
export declare const md5_hex: RegExp;
|
|
65
|
+
export declare const md5_base64: RegExp;
|
|
66
|
+
export declare const md5_base64url: RegExp;
|
|
67
|
+
export declare const sha1_hex: RegExp;
|
|
68
|
+
export declare const sha1_base64: RegExp;
|
|
69
|
+
export declare const sha1_base64url: RegExp;
|
|
70
|
+
export declare const sha256_hex: RegExp;
|
|
71
|
+
export declare const sha256_base64: RegExp;
|
|
72
|
+
export declare const sha256_base64url: RegExp;
|
|
73
|
+
export declare const sha384_hex: RegExp;
|
|
74
|
+
export declare const sha384_base64: RegExp;
|
|
75
|
+
export declare const sha384_base64url: RegExp;
|
|
76
|
+
export declare const sha512_hex: RegExp;
|
|
77
|
+
export declare const sha512_base64: RegExp;
|
|
78
|
+
export declare const sha512_base64url: RegExp;
|
|
@@ -10,12 +10,12 @@ export const duration = /^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=
|
|
|
10
10
|
export const extendedDuration = /^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/;
|
|
11
11
|
/** A regex for any UUID-like identifier: 8-4-4-4-12 hex pattern */
|
|
12
12
|
export const guid = /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/;
|
|
13
|
-
/** Returns a regex for validating an RFC 4122 UUID.
|
|
13
|
+
/** Returns a regex for validating an RFC 9562/4122 UUID.
|
|
14
14
|
*
|
|
15
15
|
* @param version Optionally specify a version 1-8. If no version is specified, all versions are supported. */
|
|
16
16
|
export const uuid = (version) => {
|
|
17
17
|
if (!version)
|
|
18
|
-
return /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/;
|
|
18
|
+
return /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;
|
|
19
19
|
return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${version}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`);
|
|
20
20
|
};
|
|
21
21
|
export const uuid4 = /*@__PURE__*/ uuid(4);
|
|
@@ -29,23 +29,23 @@ export const html5Email = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA
|
|
|
29
29
|
export const rfc5322Email = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
|
|
30
30
|
/** A loose regex that allows Unicode characters, enforces length limits, and that's about it. */
|
|
31
31
|
export const unicodeEmail = /^[^\s@"]{1,64}@[^\s@]{1,255}$/u;
|
|
32
|
+
export const idnEmail = unicodeEmail;
|
|
32
33
|
export const browserEmail = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[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])?)*$/;
|
|
33
34
|
// from https://thekevinscott.com/emojis-in-javascript/#writing-a-regular-expression
|
|
34
|
-
|
|
35
|
+
const _emoji = `^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`;
|
|
35
36
|
export function emoji() {
|
|
36
37
|
return new RegExp(_emoji, "u");
|
|
37
38
|
}
|
|
38
39
|
export const ipv4 = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;
|
|
39
|
-
export const ipv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}
|
|
40
|
+
export const ipv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/;
|
|
40
41
|
export const cidrv4 = /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/;
|
|
41
42
|
export const cidrv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/;
|
|
42
43
|
// https://stackoverflow.com/questions/7860392/determine-if-string-is-in-base64-using-javascript
|
|
43
44
|
export const base64 = /^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/;
|
|
44
45
|
export const base64url = /^[A-Za-z0-9_-]*$/;
|
|
45
46
|
// based on https://stackoverflow.com/questions/106179/regular-expression-to-match-dns-hostname-or-ip-address
|
|
46
|
-
// export const hostname: RegExp =
|
|
47
|
-
|
|
48
|
-
export const hostname = /^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;
|
|
47
|
+
// export const hostname: RegExp = /^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;
|
|
48
|
+
export const hostname = /^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/;
|
|
49
49
|
export const domain = /^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/;
|
|
50
50
|
// https://blog.stevenlevithan.com/archives/validate-phone-number#r4-3 (regex sans spaces)
|
|
51
51
|
export const e164 = /^\+(?:[0-9]){6,14}[0-9]$/;
|
|
@@ -72,8 +72,9 @@ export function datetime(args) {
|
|
|
72
72
|
const opts = ["Z"];
|
|
73
73
|
if (args.local)
|
|
74
74
|
opts.push("");
|
|
75
|
+
// if (args.offset) opts.push(`([+-]\\d{2}:\\d{2})`);
|
|
75
76
|
if (args.offset)
|
|
76
|
-
opts.push(`([+-]\\d
|
|
77
|
+
opts.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);
|
|
77
78
|
const timeRegex = `${time}(?:${opts.join("|")})`;
|
|
78
79
|
return new RegExp(`^${dateSource}T(?:${timeRegex})$`);
|
|
79
80
|
}
|
|
@@ -81,15 +82,46 @@ export const string = (params) => {
|
|
|
81
82
|
const regex = params ? `[\\s\\S]{${params?.minimum ?? 0},${params?.maximum ?? ""}}` : `[\\s\\S]*`;
|
|
82
83
|
return new RegExp(`^${regex}$`);
|
|
83
84
|
};
|
|
84
|
-
export const bigint =
|
|
85
|
-
export const integer =
|
|
86
|
-
export const number = /^-?\d+(?:\.\d+)
|
|
87
|
-
export const boolean =
|
|
88
|
-
const _null =
|
|
85
|
+
export const bigint = /^-?\d+n?$/;
|
|
86
|
+
export const integer = /^-?\d+$/;
|
|
87
|
+
export const number = /^-?\d+(?:\.\d+)?/;
|
|
88
|
+
export const boolean = /^(?:true|false)$/i;
|
|
89
|
+
const _null = /^null$/i;
|
|
89
90
|
export { _null as null };
|
|
90
|
-
const _undefined =
|
|
91
|
+
const _undefined = /^undefined$/i;
|
|
91
92
|
export { _undefined as undefined };
|
|
92
93
|
// regex for string with no uppercase letters
|
|
93
94
|
export const lowercase = /^[^A-Z]*$/;
|
|
94
95
|
// regex for string with no lowercase letters
|
|
95
96
|
export const uppercase = /^[^a-z]*$/;
|
|
97
|
+
// regex for hexadecimal strings (any length)
|
|
98
|
+
export const hex = /^[0-9a-fA-F]*$/;
|
|
99
|
+
// Hash regexes for different algorithms and encodings
|
|
100
|
+
// Helper function to create base64 regex with exact length and padding
|
|
101
|
+
function fixedBase64(bodyLength, padding) {
|
|
102
|
+
return new RegExp(`^[A-Za-z0-9+/]{${bodyLength}}${padding}$`);
|
|
103
|
+
}
|
|
104
|
+
// Helper function to create base64url regex with exact length (no padding)
|
|
105
|
+
function fixedBase64url(length) {
|
|
106
|
+
return new RegExp(`^[A-Za-z0-9_-]{${length}}$`);
|
|
107
|
+
}
|
|
108
|
+
// MD5 (16 bytes): base64 = 24 chars total (22 + "==")
|
|
109
|
+
export const md5_hex = /^[0-9a-fA-F]{32}$/;
|
|
110
|
+
export const md5_base64 = /*@__PURE__*/ fixedBase64(22, "==");
|
|
111
|
+
export const md5_base64url = /*@__PURE__*/ fixedBase64url(22);
|
|
112
|
+
// SHA1 (20 bytes): base64 = 28 chars total (27 + "=")
|
|
113
|
+
export const sha1_hex = /^[0-9a-fA-F]{40}$/;
|
|
114
|
+
export const sha1_base64 = /*@__PURE__*/ fixedBase64(27, "=");
|
|
115
|
+
export const sha1_base64url = /*@__PURE__*/ fixedBase64url(27);
|
|
116
|
+
// SHA256 (32 bytes): base64 = 44 chars total (43 + "=")
|
|
117
|
+
export const sha256_hex = /^[0-9a-fA-F]{64}$/;
|
|
118
|
+
export const sha256_base64 = /*@__PURE__*/ fixedBase64(43, "=");
|
|
119
|
+
export const sha256_base64url = /*@__PURE__*/ fixedBase64url(43);
|
|
120
|
+
// SHA384 (48 bytes): base64 = 64 chars total (no padding)
|
|
121
|
+
export const sha384_hex = /^[0-9a-fA-F]{96}$/;
|
|
122
|
+
export const sha384_base64 = /*@__PURE__*/ fixedBase64(64, "");
|
|
123
|
+
export const sha384_base64url = /*@__PURE__*/ fixedBase64url(64);
|
|
124
|
+
// SHA512 (64 bytes): base64 = 88 chars total (86 + "==")
|
|
125
|
+
export const sha512_hex = /^[0-9a-fA-F]{128}$/;
|
|
126
|
+
export const sha512_base64 = /*@__PURE__*/ fixedBase64(86, "==");
|
|
127
|
+
export const sha512_base64url = /*@__PURE__*/ fixedBase64url(86);
|