fullstacked 0.12.1-1359 → 0.12.1-1366
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
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as checks from "./checks.js";
|
|
2
2
|
import * as core from "./core.js";
|
|
3
3
|
import { Doc } from "./doc.js";
|
|
4
|
-
import { safeParse, safeParseAsync } from "./parse.js";
|
|
4
|
+
import { parse, parseAsync, safeParse, safeParseAsync } from "./parse.js";
|
|
5
5
|
import * as regexes from "./regexes.js";
|
|
6
6
|
import * as util from "./util.js";
|
|
7
7
|
import { version } from "./versions.js";
|
|
@@ -16,7 +16,6 @@ export const $ZodType = /*@__PURE__*/ core.$constructor("$ZodType", (inst, def)
|
|
|
16
16
|
if (inst._zod.traits.has("$ZodCheck")) {
|
|
17
17
|
checks.unshift(inst);
|
|
18
18
|
}
|
|
19
|
-
//
|
|
20
19
|
for (const ch of checks) {
|
|
21
20
|
for (const fn of ch._zod.onattach) {
|
|
22
21
|
fn(inst);
|
|
@@ -73,7 +72,47 @@ export const $ZodType = /*@__PURE__*/ core.$constructor("$ZodType", (inst, def)
|
|
|
73
72
|
}
|
|
74
73
|
return payload;
|
|
75
74
|
};
|
|
75
|
+
// const handleChecksResult = (
|
|
76
|
+
// checkResult: ParsePayload,
|
|
77
|
+
// originalResult: ParsePayload,
|
|
78
|
+
// ctx: ParseContextInternal
|
|
79
|
+
// ): util.MaybeAsync<ParsePayload> => {
|
|
80
|
+
// // if the checks mutated the value && there are no issues, re-parse the result
|
|
81
|
+
// if (checkResult.value !== originalResult.value && !checkResult.issues.length)
|
|
82
|
+
// return inst._zod.parse(checkResult, ctx);
|
|
83
|
+
// return originalResult;
|
|
84
|
+
// };
|
|
85
|
+
const handleCanaryResult = (canary, payload, ctx) => {
|
|
86
|
+
// abort if the canary is aborted
|
|
87
|
+
if (util.aborted(canary)) {
|
|
88
|
+
canary.aborted = true;
|
|
89
|
+
return canary;
|
|
90
|
+
}
|
|
91
|
+
// run checks first, then
|
|
92
|
+
const checkResult = runChecks(payload, checks, ctx);
|
|
93
|
+
if (checkResult instanceof Promise) {
|
|
94
|
+
if (ctx.async === false)
|
|
95
|
+
throw new core.$ZodAsyncError();
|
|
96
|
+
return checkResult.then((checkResult) => inst._zod.parse(checkResult, ctx));
|
|
97
|
+
}
|
|
98
|
+
return inst._zod.parse(checkResult, ctx);
|
|
99
|
+
};
|
|
76
100
|
inst._zod.run = (payload, ctx) => {
|
|
101
|
+
if (ctx.skipChecks) {
|
|
102
|
+
return inst._zod.parse(payload, ctx);
|
|
103
|
+
}
|
|
104
|
+
if (ctx.direction === "backward") {
|
|
105
|
+
// run canary
|
|
106
|
+
// initial pass (no checks)
|
|
107
|
+
const canary = inst._zod.parse({ value: payload.value, issues: [] }, { ...ctx, skipChecks: true });
|
|
108
|
+
if (canary instanceof Promise) {
|
|
109
|
+
return canary.then((canary) => {
|
|
110
|
+
return handleCanaryResult(canary, payload, ctx);
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
return handleCanaryResult(canary, payload, ctx);
|
|
114
|
+
}
|
|
115
|
+
// forward
|
|
77
116
|
const result = inst._zod.parse(payload, ctx);
|
|
78
117
|
if (result instanceof Promise) {
|
|
79
118
|
if (ctx.async === false)
|
|
@@ -156,9 +195,10 @@ export const $ZodURL = /*@__PURE__*/ core.$constructor("$ZodURL", (inst, def) =>
|
|
|
156
195
|
$ZodStringFormat.init(inst, def);
|
|
157
196
|
inst._zod.check = (payload) => {
|
|
158
197
|
try {
|
|
159
|
-
|
|
160
|
-
const
|
|
161
|
-
|
|
198
|
+
// Trim whitespace from input
|
|
199
|
+
const trimmed = payload.value.trim();
|
|
200
|
+
// @ts-ignore
|
|
201
|
+
const url = new URL(trimmed);
|
|
162
202
|
if (def.hostname) {
|
|
163
203
|
def.hostname.lastIndex = 0;
|
|
164
204
|
if (!def.hostname.test(url.hostname)) {
|
|
@@ -187,12 +227,14 @@ export const $ZodURL = /*@__PURE__*/ core.$constructor("$ZodURL", (inst, def) =>
|
|
|
187
227
|
});
|
|
188
228
|
}
|
|
189
229
|
}
|
|
190
|
-
//
|
|
191
|
-
if (
|
|
192
|
-
|
|
230
|
+
// Set the output value based on normalize flag
|
|
231
|
+
if (def.normalize) {
|
|
232
|
+
// Use normalized URL
|
|
233
|
+
payload.value = url.href;
|
|
193
234
|
}
|
|
194
235
|
else {
|
|
195
|
-
|
|
236
|
+
// Preserve the original input (trimmed)
|
|
237
|
+
payload.value = trimmed;
|
|
196
238
|
}
|
|
197
239
|
return;
|
|
198
240
|
}
|
|
@@ -268,6 +310,7 @@ export const $ZodIPv6 = /*@__PURE__*/ core.$constructor("$ZodIPv6", (inst, def)
|
|
|
268
310
|
});
|
|
269
311
|
inst._zod.check = (payload) => {
|
|
270
312
|
try {
|
|
313
|
+
// @ts-ignore
|
|
271
314
|
new URL(`http://[${payload.value}]`);
|
|
272
315
|
// return;
|
|
273
316
|
}
|
|
@@ -290,8 +333,11 @@ export const $ZodCIDRv6 = /*@__PURE__*/ core.$constructor("$ZodCIDRv6", (inst, d
|
|
|
290
333
|
def.pattern ?? (def.pattern = regexes.cidrv6); // not used for validation
|
|
291
334
|
$ZodStringFormat.init(inst, def);
|
|
292
335
|
inst._zod.check = (payload) => {
|
|
293
|
-
const
|
|
336
|
+
const parts = payload.value.split("/");
|
|
294
337
|
try {
|
|
338
|
+
if (parts.length !== 2)
|
|
339
|
+
throw new Error();
|
|
340
|
+
const [address, prefix] = parts;
|
|
295
341
|
if (!prefix)
|
|
296
342
|
throw new Error();
|
|
297
343
|
const prefixNum = Number(prefix);
|
|
@@ -299,6 +345,7 @@ export const $ZodCIDRv6 = /*@__PURE__*/ core.$constructor("$ZodCIDRv6", (inst, d
|
|
|
299
345
|
throw new Error();
|
|
300
346
|
if (prefixNum < 0 || prefixNum > 128)
|
|
301
347
|
throw new Error();
|
|
348
|
+
// @ts-ignore
|
|
302
349
|
new URL(`http://[${address}]`);
|
|
303
350
|
}
|
|
304
351
|
catch {
|
|
@@ -319,6 +366,7 @@ export function isValidBase64(data) {
|
|
|
319
366
|
if (data.length % 4 !== 0)
|
|
320
367
|
return false;
|
|
321
368
|
try {
|
|
369
|
+
// @ts-ignore
|
|
322
370
|
atob(data);
|
|
323
371
|
return true;
|
|
324
372
|
}
|
|
@@ -383,6 +431,7 @@ export function isValidJWT(token, algorithm = null) {
|
|
|
383
431
|
const [header] = tokensParts;
|
|
384
432
|
if (!header)
|
|
385
433
|
return false;
|
|
434
|
+
// @ts-ignore
|
|
386
435
|
const parsedHeader = JSON.parse(atob(header));
|
|
387
436
|
if ("typ" in parsedHeader && parsedHeader?.typ !== "JWT")
|
|
388
437
|
return false;
|
|
@@ -653,58 +702,88 @@ export const $ZodArray = /*@__PURE__*/ core.$constructor("$ZodArray", (inst, def
|
|
|
653
702
|
return payload; //handleArrayResultsAsync(parseResults, final);
|
|
654
703
|
};
|
|
655
704
|
});
|
|
656
|
-
function
|
|
657
|
-
// if(isOptional)
|
|
705
|
+
function handlePropertyResult(result, final, key, input) {
|
|
658
706
|
if (result.issues.length) {
|
|
659
707
|
final.issues.push(...util.prefixIssues(key, result.issues));
|
|
660
708
|
}
|
|
661
|
-
|
|
709
|
+
if (result.value === undefined) {
|
|
710
|
+
if (key in input) {
|
|
711
|
+
final.value[key] = undefined;
|
|
712
|
+
}
|
|
713
|
+
}
|
|
714
|
+
else {
|
|
715
|
+
final.value[key] = result.value;
|
|
716
|
+
}
|
|
662
717
|
}
|
|
663
|
-
function
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
if (
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
718
|
+
function normalizeDef(def) {
|
|
719
|
+
const keys = Object.keys(def.shape);
|
|
720
|
+
for (const k of keys) {
|
|
721
|
+
if (!def.shape?.[k]?._zod?.traits?.has("$ZodType")) {
|
|
722
|
+
throw new Error(`Invalid element at key "${k}": expected a Zod schema`);
|
|
723
|
+
}
|
|
724
|
+
}
|
|
725
|
+
const okeys = util.optionalKeys(def.shape);
|
|
726
|
+
return {
|
|
727
|
+
...def,
|
|
728
|
+
keys,
|
|
729
|
+
keySet: new Set(keys),
|
|
730
|
+
numKeys: keys.length,
|
|
731
|
+
optionalKeys: new Set(okeys),
|
|
732
|
+
};
|
|
733
|
+
}
|
|
734
|
+
function handleCatchall(proms, input, payload, ctx, def, inst) {
|
|
735
|
+
const unrecognized = [];
|
|
736
|
+
// iterate over input keys
|
|
737
|
+
const keySet = def.keySet;
|
|
738
|
+
const _catchall = def.catchall._zod;
|
|
739
|
+
const t = _catchall.def.type;
|
|
740
|
+
for (const key of Object.keys(input)) {
|
|
741
|
+
if (keySet.has(key))
|
|
742
|
+
continue;
|
|
743
|
+
if (t === "never") {
|
|
744
|
+
unrecognized.push(key);
|
|
745
|
+
continue;
|
|
746
|
+
}
|
|
747
|
+
const r = _catchall.run({ value: input[key], issues: [] }, ctx);
|
|
748
|
+
if (r instanceof Promise) {
|
|
749
|
+
proms.push(r.then((r) => handlePropertyResult(r, payload, key, input)));
|
|
674
750
|
}
|
|
675
751
|
else {
|
|
676
|
-
|
|
752
|
+
handlePropertyResult(r, payload, key, input);
|
|
677
753
|
}
|
|
678
754
|
}
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
final.value[key] = result.value;
|
|
755
|
+
if (unrecognized.length) {
|
|
756
|
+
payload.issues.push({
|
|
757
|
+
code: "unrecognized_keys",
|
|
758
|
+
keys: unrecognized,
|
|
759
|
+
input,
|
|
760
|
+
inst,
|
|
761
|
+
});
|
|
687
762
|
}
|
|
763
|
+
if (!proms.length)
|
|
764
|
+
return payload;
|
|
765
|
+
return Promise.all(proms).then(() => {
|
|
766
|
+
return payload;
|
|
767
|
+
});
|
|
688
768
|
}
|
|
689
769
|
export const $ZodObject = /*@__PURE__*/ core.$constructor("$ZodObject", (inst, def) => {
|
|
690
770
|
// requires cast because technically $ZodObject doesn't extend
|
|
691
771
|
$ZodType.init(inst, def);
|
|
692
|
-
const
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
});
|
|
772
|
+
// const sh = def.shape;
|
|
773
|
+
const desc = Object.getOwnPropertyDescriptor(def, "shape");
|
|
774
|
+
if (!desc?.get) {
|
|
775
|
+
const sh = def.shape;
|
|
776
|
+
Object.defineProperty(def, "shape", {
|
|
777
|
+
get: () => {
|
|
778
|
+
const newSh = { ...sh };
|
|
779
|
+
Object.defineProperty(def, "shape", {
|
|
780
|
+
value: newSh,
|
|
781
|
+
});
|
|
782
|
+
return newSh;
|
|
783
|
+
},
|
|
784
|
+
});
|
|
785
|
+
}
|
|
786
|
+
const _normalized = util.cached(() => normalizeDef(def));
|
|
708
787
|
util.defineLazy(inst._zod, "propValues", () => {
|
|
709
788
|
const shape = def.shape;
|
|
710
789
|
const propValues = {};
|
|
@@ -718,6 +797,45 @@ export const $ZodObject = /*@__PURE__*/ core.$constructor("$ZodObject", (inst, d
|
|
|
718
797
|
}
|
|
719
798
|
return propValues;
|
|
720
799
|
});
|
|
800
|
+
const isObject = util.isObject;
|
|
801
|
+
const catchall = def.catchall;
|
|
802
|
+
let value;
|
|
803
|
+
inst._zod.parse = (payload, ctx) => {
|
|
804
|
+
value ?? (value = _normalized.value);
|
|
805
|
+
const input = payload.value;
|
|
806
|
+
if (!isObject(input)) {
|
|
807
|
+
payload.issues.push({
|
|
808
|
+
expected: "object",
|
|
809
|
+
code: "invalid_type",
|
|
810
|
+
input,
|
|
811
|
+
inst,
|
|
812
|
+
});
|
|
813
|
+
return payload;
|
|
814
|
+
}
|
|
815
|
+
payload.value = {};
|
|
816
|
+
const proms = [];
|
|
817
|
+
const shape = value.shape;
|
|
818
|
+
for (const key of value.keys) {
|
|
819
|
+
const el = shape[key];
|
|
820
|
+
const r = el._zod.run({ value: input[key], issues: [] }, ctx);
|
|
821
|
+
if (r instanceof Promise) {
|
|
822
|
+
proms.push(r.then((r) => handlePropertyResult(r, payload, key, input)));
|
|
823
|
+
}
|
|
824
|
+
else {
|
|
825
|
+
handlePropertyResult(r, payload, key, input);
|
|
826
|
+
}
|
|
827
|
+
}
|
|
828
|
+
if (!catchall) {
|
|
829
|
+
return proms.length ? Promise.all(proms).then(() => payload) : payload;
|
|
830
|
+
}
|
|
831
|
+
return handleCatchall(proms, input, payload, ctx, _normalized.value, inst);
|
|
832
|
+
};
|
|
833
|
+
});
|
|
834
|
+
export const $ZodObjectJIT = /*@__PURE__*/ core.$constructor("$ZodObjectJIT", (inst, def) => {
|
|
835
|
+
// requires cast because technically $ZodObject doesn't extend
|
|
836
|
+
$ZodObject.init(inst, def);
|
|
837
|
+
const superParse = inst._zod.parse;
|
|
838
|
+
const _normalized = util.cached(() => normalizeDef(def));
|
|
721
839
|
const generateFastpass = (shape) => {
|
|
722
840
|
const doc = new Doc(["shape", "payload", "ctx"]);
|
|
723
841
|
const normalized = _normalized.value;
|
|
@@ -732,44 +850,29 @@ export const $ZodObject = /*@__PURE__*/ core.$constructor("$ZodObject", (inst, d
|
|
|
732
850
|
ids[key] = `key_${counter++}`;
|
|
733
851
|
}
|
|
734
852
|
// A: preserve key order {
|
|
735
|
-
doc.write(`const newResult = {}
|
|
853
|
+
doc.write(`const newResult = {};`);
|
|
736
854
|
for (const key of normalized.keys) {
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
doc.write(`
|
|
855
|
+
const id = ids[key];
|
|
856
|
+
const k = util.esc(key);
|
|
857
|
+
doc.write(`const ${id} = ${parseStr(key)};`);
|
|
858
|
+
doc.write(`
|
|
742
859
|
if (${id}.issues.length) {
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
);
|
|
860
|
+
payload.issues = payload.issues.concat(${id}.issues.map(iss => ({
|
|
861
|
+
...iss,
|
|
862
|
+
path: iss.path ? [${k}, ...iss.path] : [${k}]
|
|
863
|
+
})));
|
|
864
|
+
}
|
|
865
|
+
|
|
866
|
+
|
|
867
|
+
if (${id}.value === undefined) {
|
|
868
|
+
if (${k} in input) {
|
|
869
|
+
newResult[${k}] = undefined;
|
|
754
870
|
}
|
|
755
|
-
} else if (${id}.value === undefined) {
|
|
756
|
-
if (${k} in input) newResult[${k}] = undefined;
|
|
757
871
|
} else {
|
|
758
872
|
newResult[${k}] = ${id}.value;
|
|
759
873
|
}
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
else {
|
|
763
|
-
const id = ids[key];
|
|
764
|
-
// const id = ids[key];
|
|
765
|
-
doc.write(`const ${id} = ${parseStr(key)};`);
|
|
766
|
-
doc.write(`
|
|
767
|
-
if (${id}.issues.length) payload.issues = payload.issues.concat(${id}.issues.map(iss => ({
|
|
768
|
-
...iss,
|
|
769
|
-
path: iss.path ? [${util.esc(key)}, ...iss.path] : [${util.esc(key)}]
|
|
770
|
-
})));`);
|
|
771
|
-
doc.write(`newResult[${util.esc(key)}] = ${id}.value`);
|
|
772
|
-
}
|
|
874
|
+
|
|
875
|
+
`);
|
|
773
876
|
}
|
|
774
877
|
doc.write(`payload.value = newResult;`);
|
|
775
878
|
doc.write(`return payload;`);
|
|
@@ -795,80 +898,16 @@ export const $ZodObject = /*@__PURE__*/ core.$constructor("$ZodObject", (inst, d
|
|
|
795
898
|
});
|
|
796
899
|
return payload;
|
|
797
900
|
}
|
|
798
|
-
const proms = [];
|
|
799
901
|
if (jit && fastEnabled && ctx?.async === false && ctx.jitless !== true) {
|
|
800
902
|
// always synchronous
|
|
801
903
|
if (!fastpass)
|
|
802
904
|
fastpass = generateFastpass(def.shape);
|
|
803
905
|
payload = fastpass(payload, ctx);
|
|
906
|
+
if (!catchall)
|
|
907
|
+
return payload;
|
|
908
|
+
return handleCatchall([], input, payload, ctx, value, inst);
|
|
804
909
|
}
|
|
805
|
-
|
|
806
|
-
payload.value = {};
|
|
807
|
-
const shape = value.shape;
|
|
808
|
-
for (const key of value.keys) {
|
|
809
|
-
const el = shape[key];
|
|
810
|
-
// do not add omitted optional keys
|
|
811
|
-
// if (!(key in input)) {
|
|
812
|
-
// if (optionalKeys.has(key)) continue;
|
|
813
|
-
// payload.issues.push({
|
|
814
|
-
// code: "invalid_type",
|
|
815
|
-
// path: [key],
|
|
816
|
-
// expected: "nonoptional",
|
|
817
|
-
// note: `Missing required key: "${key}"`,
|
|
818
|
-
// input,
|
|
819
|
-
// inst,
|
|
820
|
-
// });
|
|
821
|
-
// }
|
|
822
|
-
const r = el._zod.run({ value: input[key], issues: [] }, ctx);
|
|
823
|
-
const isOptional = el._zod.optin === "optional" && el._zod.optout === "optional";
|
|
824
|
-
if (r instanceof Promise) {
|
|
825
|
-
proms.push(r.then((r) => isOptional ? handleOptionalObjectResult(r, payload, key, input) : handleObjectResult(r, payload, key)));
|
|
826
|
-
}
|
|
827
|
-
else if (isOptional) {
|
|
828
|
-
handleOptionalObjectResult(r, payload, key, input);
|
|
829
|
-
}
|
|
830
|
-
else {
|
|
831
|
-
handleObjectResult(r, payload, key);
|
|
832
|
-
}
|
|
833
|
-
}
|
|
834
|
-
}
|
|
835
|
-
if (!catchall) {
|
|
836
|
-
// return payload;
|
|
837
|
-
return proms.length ? Promise.all(proms).then(() => payload) : payload;
|
|
838
|
-
}
|
|
839
|
-
const unrecognized = [];
|
|
840
|
-
// iterate over input keys
|
|
841
|
-
const keySet = value.keySet;
|
|
842
|
-
const _catchall = catchall._zod;
|
|
843
|
-
const t = _catchall.def.type;
|
|
844
|
-
for (const key of Object.keys(input)) {
|
|
845
|
-
if (keySet.has(key))
|
|
846
|
-
continue;
|
|
847
|
-
if (t === "never") {
|
|
848
|
-
unrecognized.push(key);
|
|
849
|
-
continue;
|
|
850
|
-
}
|
|
851
|
-
const r = _catchall.run({ value: input[key], issues: [] }, ctx);
|
|
852
|
-
if (r instanceof Promise) {
|
|
853
|
-
proms.push(r.then((r) => handleObjectResult(r, payload, key)));
|
|
854
|
-
}
|
|
855
|
-
else {
|
|
856
|
-
handleObjectResult(r, payload, key);
|
|
857
|
-
}
|
|
858
|
-
}
|
|
859
|
-
if (unrecognized.length) {
|
|
860
|
-
payload.issues.push({
|
|
861
|
-
code: "unrecognized_keys",
|
|
862
|
-
keys: unrecognized,
|
|
863
|
-
input,
|
|
864
|
-
inst,
|
|
865
|
-
});
|
|
866
|
-
}
|
|
867
|
-
if (!proms.length)
|
|
868
|
-
return payload;
|
|
869
|
-
return Promise.all(proms).then(() => {
|
|
870
|
-
return payload;
|
|
871
|
-
});
|
|
910
|
+
return superParse(payload, ctx);
|
|
872
911
|
};
|
|
873
912
|
});
|
|
874
913
|
function handleUnionResults(results, final, inst, ctx) {
|
|
@@ -878,6 +917,11 @@ function handleUnionResults(results, final, inst, ctx) {
|
|
|
878
917
|
return final;
|
|
879
918
|
}
|
|
880
919
|
}
|
|
920
|
+
const nonaborted = results.filter((r) => !util.aborted(r));
|
|
921
|
+
if (nonaborted.length === 1) {
|
|
922
|
+
final.value = nonaborted[0].value;
|
|
923
|
+
return nonaborted[0];
|
|
924
|
+
}
|
|
881
925
|
final.issues.push({
|
|
882
926
|
code: "invalid_union",
|
|
883
927
|
input: final.value,
|
|
@@ -903,7 +947,12 @@ export const $ZodUnion = /*@__PURE__*/ core.$constructor("$ZodUnion", (inst, def
|
|
|
903
947
|
}
|
|
904
948
|
return undefined;
|
|
905
949
|
});
|
|
950
|
+
const single = def.options.length === 1;
|
|
951
|
+
const first = def.options[0]._zod.run;
|
|
906
952
|
inst._zod.parse = (payload, ctx) => {
|
|
953
|
+
if (single) {
|
|
954
|
+
return first(payload, ctx);
|
|
955
|
+
}
|
|
907
956
|
let async = false;
|
|
908
957
|
const results = [];
|
|
909
958
|
for (const option of def.options) {
|
|
@@ -953,7 +1002,7 @@ core.$constructor("$ZodDiscriminatedUnion", (inst, def) => {
|
|
|
953
1002
|
const opts = def.options;
|
|
954
1003
|
const map = new Map();
|
|
955
1004
|
for (const o of opts) {
|
|
956
|
-
const values = o._zod.propValues[def.discriminator];
|
|
1005
|
+
const values = o._zod.propValues?.[def.discriminator];
|
|
957
1006
|
if (!values || values.size === 0)
|
|
958
1007
|
throw new Error(`Invalid discriminated union option at index "${def.options.indexOf(o)}"`);
|
|
959
1008
|
for (const v of values) {
|
|
@@ -988,6 +1037,7 @@ core.$constructor("$ZodDiscriminatedUnion", (inst, def) => {
|
|
|
988
1037
|
code: "invalid_union",
|
|
989
1038
|
errors: [],
|
|
990
1039
|
note: "No matching discriminator",
|
|
1040
|
+
discriminator: def.discriminator,
|
|
991
1041
|
input,
|
|
992
1042
|
path: [def.discriminator],
|
|
993
1043
|
inst,
|
|
@@ -1094,10 +1144,10 @@ export const $ZodTuple = /*@__PURE__*/ core.$constructor("$ZodTuple", (inst, def
|
|
|
1094
1144
|
const tooSmall = input.length < optStart - 1;
|
|
1095
1145
|
if (tooBig || tooSmall) {
|
|
1096
1146
|
payload.issues.push({
|
|
1147
|
+
...(tooBig ? { code: "too_big", maximum: items.length } : { code: "too_small", minimum: items.length }),
|
|
1097
1148
|
input,
|
|
1098
1149
|
inst,
|
|
1099
1150
|
origin: "array",
|
|
1100
|
-
...(tooBig ? { code: "too_big", maximum: items.length } : { code: "too_small", minimum: items.length }),
|
|
1101
1151
|
});
|
|
1102
1152
|
return payload;
|
|
1103
1153
|
}
|
|
@@ -1209,8 +1259,8 @@ export const $ZodRecord = /*@__PURE__*/ core.$constructor("$ZodRecord", (inst, d
|
|
|
1209
1259
|
}
|
|
1210
1260
|
if (keyResult.issues.length) {
|
|
1211
1261
|
payload.issues.push({
|
|
1212
|
-
origin: "record",
|
|
1213
1262
|
code: "invalid_key",
|
|
1263
|
+
origin: "record",
|
|
1214
1264
|
issues: keyResult.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),
|
|
1215
1265
|
input: key,
|
|
1216
1266
|
path: [key],
|
|
@@ -1281,8 +1331,8 @@ function handleMapResult(keyResult, valueResult, final, key, input, inst, ctx) {
|
|
|
1281
1331
|
}
|
|
1282
1332
|
else {
|
|
1283
1333
|
final.issues.push({
|
|
1284
|
-
origin: "map",
|
|
1285
1334
|
code: "invalid_key",
|
|
1335
|
+
origin: "map",
|
|
1286
1336
|
input,
|
|
1287
1337
|
inst,
|
|
1288
1338
|
issues: keyResult.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),
|
|
@@ -1343,14 +1393,15 @@ function handleSetResult(result, final) {
|
|
|
1343
1393
|
export const $ZodEnum = /*@__PURE__*/ core.$constructor("$ZodEnum", (inst, def) => {
|
|
1344
1394
|
$ZodType.init(inst, def);
|
|
1345
1395
|
const values = util.getEnumValues(def.entries);
|
|
1346
|
-
|
|
1396
|
+
const valuesSet = new Set(values);
|
|
1397
|
+
inst._zod.values = valuesSet;
|
|
1347
1398
|
inst._zod.pattern = new RegExp(`^(${values
|
|
1348
1399
|
.filter((k) => util.propertyKeyTypes.has(typeof k))
|
|
1349
1400
|
.map((o) => (typeof o === "string" ? util.escapeRegex(o) : o.toString()))
|
|
1350
1401
|
.join("|")})$`);
|
|
1351
1402
|
inst._zod.parse = (payload, _ctx) => {
|
|
1352
1403
|
const input = payload.value;
|
|
1353
|
-
if (
|
|
1404
|
+
if (valuesSet.has(input)) {
|
|
1354
1405
|
return payload;
|
|
1355
1406
|
}
|
|
1356
1407
|
payload.issues.push({
|
|
@@ -1364,9 +1415,12 @@ export const $ZodEnum = /*@__PURE__*/ core.$constructor("$ZodEnum", (inst, def)
|
|
|
1364
1415
|
});
|
|
1365
1416
|
export const $ZodLiteral = /*@__PURE__*/ core.$constructor("$ZodLiteral", (inst, def) => {
|
|
1366
1417
|
$ZodType.init(inst, def);
|
|
1418
|
+
if (def.values.length === 0) {
|
|
1419
|
+
throw new Error("Cannot create literal schema with no valid values");
|
|
1420
|
+
}
|
|
1367
1421
|
inst._zod.values = new Set(def.values);
|
|
1368
1422
|
inst._zod.pattern = new RegExp(`^(${def.values
|
|
1369
|
-
.map((o) => (typeof o === "string" ? util.escapeRegex(o) : o ? o.toString() : String(o)))
|
|
1423
|
+
.map((o) => (typeof o === "string" ? util.escapeRegex(o) : o ? util.escapeRegex(o.toString()) : String(o)))
|
|
1370
1424
|
.join("|")})$`);
|
|
1371
1425
|
inst._zod.parse = (payload, _ctx) => {
|
|
1372
1426
|
const input = payload.value;
|
|
@@ -1386,6 +1440,7 @@ export const $ZodFile = /*@__PURE__*/ core.$constructor("$ZodFile", (inst, def)
|
|
|
1386
1440
|
$ZodType.init(inst, def);
|
|
1387
1441
|
inst._zod.parse = (payload, _ctx) => {
|
|
1388
1442
|
const input = payload.value;
|
|
1443
|
+
// @ts-ignore
|
|
1389
1444
|
if (input instanceof File)
|
|
1390
1445
|
return payload;
|
|
1391
1446
|
payload.issues.push({
|
|
@@ -1399,9 +1454,12 @@ export const $ZodFile = /*@__PURE__*/ core.$constructor("$ZodFile", (inst, def)
|
|
|
1399
1454
|
});
|
|
1400
1455
|
export const $ZodTransform = /*@__PURE__*/ core.$constructor("$ZodTransform", (inst, def) => {
|
|
1401
1456
|
$ZodType.init(inst, def);
|
|
1402
|
-
inst._zod.parse = (payload,
|
|
1457
|
+
inst._zod.parse = (payload, ctx) => {
|
|
1458
|
+
if (ctx.direction === "backward") {
|
|
1459
|
+
throw new core.$ZodEncodeError(inst.constructor.name);
|
|
1460
|
+
}
|
|
1403
1461
|
const _out = def.transform(payload.value, payload);
|
|
1404
|
-
if (
|
|
1462
|
+
if (ctx.async) {
|
|
1405
1463
|
const output = _out instanceof Promise ? _out : Promise.resolve(_out);
|
|
1406
1464
|
return output.then((output) => {
|
|
1407
1465
|
payload.value = output;
|
|
@@ -1415,6 +1473,12 @@ export const $ZodTransform = /*@__PURE__*/ core.$constructor("$ZodTransform", (i
|
|
|
1415
1473
|
return payload;
|
|
1416
1474
|
};
|
|
1417
1475
|
});
|
|
1476
|
+
function handleOptionalResult(result, input) {
|
|
1477
|
+
if (result.issues.length && input === undefined) {
|
|
1478
|
+
return { issues: [], value: undefined };
|
|
1479
|
+
}
|
|
1480
|
+
return result;
|
|
1481
|
+
}
|
|
1418
1482
|
export const $ZodOptional = /*@__PURE__*/ core.$constructor("$ZodOptional", (inst, def) => {
|
|
1419
1483
|
$ZodType.init(inst, def);
|
|
1420
1484
|
inst._zod.optin = "optional";
|
|
@@ -1428,7 +1492,10 @@ export const $ZodOptional = /*@__PURE__*/ core.$constructor("$ZodOptional", (ins
|
|
|
1428
1492
|
});
|
|
1429
1493
|
inst._zod.parse = (payload, ctx) => {
|
|
1430
1494
|
if (def.innerType._zod.optin === "optional") {
|
|
1431
|
-
|
|
1495
|
+
const result = def.innerType._zod.run(payload, ctx);
|
|
1496
|
+
if (result instanceof Promise)
|
|
1497
|
+
return result.then((r) => handleOptionalResult(r, payload.value));
|
|
1498
|
+
return handleOptionalResult(result, payload.value);
|
|
1432
1499
|
}
|
|
1433
1500
|
if (payload.value === undefined) {
|
|
1434
1501
|
return payload;
|
|
@@ -1448,6 +1515,7 @@ export const $ZodNullable = /*@__PURE__*/ core.$constructor("$ZodNullable", (ins
|
|
|
1448
1515
|
return def.innerType._zod.values ? new Set([...def.innerType._zod.values, null]) : undefined;
|
|
1449
1516
|
});
|
|
1450
1517
|
inst._zod.parse = (payload, ctx) => {
|
|
1518
|
+
// Forward direction (decode): allow null to pass through
|
|
1451
1519
|
if (payload.value === null)
|
|
1452
1520
|
return payload;
|
|
1453
1521
|
return def.innerType._zod.run(payload, ctx);
|
|
@@ -1459,13 +1527,18 @@ export const $ZodDefault = /*@__PURE__*/ core.$constructor("$ZodDefault", (inst,
|
|
|
1459
1527
|
inst._zod.optin = "optional";
|
|
1460
1528
|
util.defineLazy(inst._zod, "values", () => def.innerType._zod.values);
|
|
1461
1529
|
inst._zod.parse = (payload, ctx) => {
|
|
1530
|
+
if (ctx.direction === "backward") {
|
|
1531
|
+
return def.innerType._zod.run(payload, ctx);
|
|
1532
|
+
}
|
|
1533
|
+
// Forward direction (decode): apply defaults for undefined input
|
|
1462
1534
|
if (payload.value === undefined) {
|
|
1463
1535
|
payload.value = def.defaultValue;
|
|
1464
1536
|
/**
|
|
1465
|
-
* $ZodDefault
|
|
1537
|
+
* $ZodDefault returns the default value immediately in forward direction.
|
|
1466
1538
|
* It doesn't pass the default value into the validator ("prefault"). There's no reason to pass the default value through validation. The validity of the default is enforced by TypeScript statically. Otherwise, it's the responsibility of the user to ensure the default is valid. In the case of pipes with divergent in/out types, you can specify the default on the `in` schema of your ZodPipe to set a "prefault" for the pipe. */
|
|
1467
1539
|
return payload;
|
|
1468
1540
|
}
|
|
1541
|
+
// Forward direction: continue with default handling
|
|
1469
1542
|
const result = def.innerType._zod.run(payload, ctx);
|
|
1470
1543
|
if (result instanceof Promise) {
|
|
1471
1544
|
return result.then((result) => handleDefaultResult(result, def));
|
|
@@ -1484,6 +1557,10 @@ export const $ZodPrefault = /*@__PURE__*/ core.$constructor("$ZodPrefault", (ins
|
|
|
1484
1557
|
inst._zod.optin = "optional";
|
|
1485
1558
|
util.defineLazy(inst._zod, "values", () => def.innerType._zod.values);
|
|
1486
1559
|
inst._zod.parse = (payload, ctx) => {
|
|
1560
|
+
if (ctx.direction === "backward") {
|
|
1561
|
+
return def.innerType._zod.run(payload, ctx);
|
|
1562
|
+
}
|
|
1563
|
+
// Forward direction (decode): apply prefault for undefined input
|
|
1487
1564
|
if (payload.value === undefined) {
|
|
1488
1565
|
payload.value = def.defaultValue;
|
|
1489
1566
|
}
|
|
@@ -1518,6 +1595,9 @@ function handleNonOptionalResult(payload, inst) {
|
|
|
1518
1595
|
export const $ZodSuccess = /*@__PURE__*/ core.$constructor("$ZodSuccess", (inst, def) => {
|
|
1519
1596
|
$ZodType.init(inst, def);
|
|
1520
1597
|
inst._zod.parse = (payload, ctx) => {
|
|
1598
|
+
if (ctx.direction === "backward") {
|
|
1599
|
+
throw new core.$ZodEncodeError("ZodSuccess");
|
|
1600
|
+
}
|
|
1521
1601
|
const result = def.innerType._zod.run(payload, ctx);
|
|
1522
1602
|
if (result instanceof Promise) {
|
|
1523
1603
|
return result.then((result) => {
|
|
@@ -1531,10 +1611,14 @@ export const $ZodSuccess = /*@__PURE__*/ core.$constructor("$ZodSuccess", (inst,
|
|
|
1531
1611
|
});
|
|
1532
1612
|
export const $ZodCatch = /*@__PURE__*/ core.$constructor("$ZodCatch", (inst, def) => {
|
|
1533
1613
|
$ZodType.init(inst, def);
|
|
1534
|
-
inst._zod
|
|
1614
|
+
util.defineLazy(inst._zod, "optin", () => def.innerType._zod.optin);
|
|
1535
1615
|
util.defineLazy(inst._zod, "optout", () => def.innerType._zod.optout);
|
|
1536
1616
|
util.defineLazy(inst._zod, "values", () => def.innerType._zod.values);
|
|
1537
1617
|
inst._zod.parse = (payload, ctx) => {
|
|
1618
|
+
if (ctx.direction === "backward") {
|
|
1619
|
+
return def.innerType._zod.run(payload, ctx);
|
|
1620
|
+
}
|
|
1621
|
+
// Forward direction (decode): apply catch logic
|
|
1538
1622
|
const result = def.innerType._zod.run(payload, ctx);
|
|
1539
1623
|
if (result instanceof Promise) {
|
|
1540
1624
|
return result.then((result) => {
|
|
@@ -1586,19 +1670,83 @@ export const $ZodPipe = /*@__PURE__*/ core.$constructor("$ZodPipe", (inst, def)
|
|
|
1586
1670
|
util.defineLazy(inst._zod, "values", () => def.in._zod.values);
|
|
1587
1671
|
util.defineLazy(inst._zod, "optin", () => def.in._zod.optin);
|
|
1588
1672
|
util.defineLazy(inst._zod, "optout", () => def.out._zod.optout);
|
|
1673
|
+
util.defineLazy(inst._zod, "propValues", () => def.in._zod.propValues);
|
|
1589
1674
|
inst._zod.parse = (payload, ctx) => {
|
|
1675
|
+
if (ctx.direction === "backward") {
|
|
1676
|
+
const right = def.out._zod.run(payload, ctx);
|
|
1677
|
+
if (right instanceof Promise) {
|
|
1678
|
+
return right.then((right) => handlePipeResult(right, def.in, ctx));
|
|
1679
|
+
}
|
|
1680
|
+
return handlePipeResult(right, def.in, ctx);
|
|
1681
|
+
}
|
|
1590
1682
|
const left = def.in._zod.run(payload, ctx);
|
|
1591
1683
|
if (left instanceof Promise) {
|
|
1592
|
-
return left.then((left) => handlePipeResult(left, def, ctx));
|
|
1684
|
+
return left.then((left) => handlePipeResult(left, def.out, ctx));
|
|
1593
1685
|
}
|
|
1594
|
-
return handlePipeResult(left, def, ctx);
|
|
1686
|
+
return handlePipeResult(left, def.out, ctx);
|
|
1595
1687
|
};
|
|
1596
1688
|
});
|
|
1597
|
-
function handlePipeResult(left,
|
|
1598
|
-
if (
|
|
1689
|
+
function handlePipeResult(left, next, ctx) {
|
|
1690
|
+
if (left.issues.length) {
|
|
1691
|
+
// prevent further checks
|
|
1692
|
+
left.aborted = true;
|
|
1599
1693
|
return left;
|
|
1600
1694
|
}
|
|
1601
|
-
return
|
|
1695
|
+
return next._zod.run({ value: left.value, issues: left.issues }, ctx);
|
|
1696
|
+
}
|
|
1697
|
+
export const $ZodCodec = /*@__PURE__*/ core.$constructor("$ZodCodec", (inst, def) => {
|
|
1698
|
+
$ZodType.init(inst, def);
|
|
1699
|
+
util.defineLazy(inst._zod, "values", () => def.in._zod.values);
|
|
1700
|
+
util.defineLazy(inst._zod, "optin", () => def.in._zod.optin);
|
|
1701
|
+
util.defineLazy(inst._zod, "optout", () => def.out._zod.optout);
|
|
1702
|
+
util.defineLazy(inst._zod, "propValues", () => def.in._zod.propValues);
|
|
1703
|
+
inst._zod.parse = (payload, ctx) => {
|
|
1704
|
+
const direction = ctx.direction || "forward";
|
|
1705
|
+
if (direction === "forward") {
|
|
1706
|
+
const left = def.in._zod.run(payload, ctx);
|
|
1707
|
+
if (left instanceof Promise) {
|
|
1708
|
+
return left.then((left) => handleCodecAResult(left, def, ctx));
|
|
1709
|
+
}
|
|
1710
|
+
return handleCodecAResult(left, def, ctx);
|
|
1711
|
+
}
|
|
1712
|
+
else {
|
|
1713
|
+
const right = def.out._zod.run(payload, ctx);
|
|
1714
|
+
if (right instanceof Promise) {
|
|
1715
|
+
return right.then((right) => handleCodecAResult(right, def, ctx));
|
|
1716
|
+
}
|
|
1717
|
+
return handleCodecAResult(right, def, ctx);
|
|
1718
|
+
}
|
|
1719
|
+
};
|
|
1720
|
+
});
|
|
1721
|
+
function handleCodecAResult(result, def, ctx) {
|
|
1722
|
+
if (result.issues.length) {
|
|
1723
|
+
// prevent further checks
|
|
1724
|
+
result.aborted = true;
|
|
1725
|
+
return result;
|
|
1726
|
+
}
|
|
1727
|
+
const direction = ctx.direction || "forward";
|
|
1728
|
+
if (direction === "forward") {
|
|
1729
|
+
const transformed = def.transform(result.value, result);
|
|
1730
|
+
if (transformed instanceof Promise) {
|
|
1731
|
+
return transformed.then((value) => handleCodecTxResult(result, value, def.out, ctx));
|
|
1732
|
+
}
|
|
1733
|
+
return handleCodecTxResult(result, transformed, def.out, ctx);
|
|
1734
|
+
}
|
|
1735
|
+
else {
|
|
1736
|
+
const transformed = def.reverseTransform(result.value, result);
|
|
1737
|
+
if (transformed instanceof Promise) {
|
|
1738
|
+
return transformed.then((value) => handleCodecTxResult(result, value, def.in, ctx));
|
|
1739
|
+
}
|
|
1740
|
+
return handleCodecTxResult(result, transformed, def.in, ctx);
|
|
1741
|
+
}
|
|
1742
|
+
}
|
|
1743
|
+
function handleCodecTxResult(left, value, nextSchema, ctx) {
|
|
1744
|
+
// Check if transform added any issues
|
|
1745
|
+
if (left.issues.length) {
|
|
1746
|
+
left.aborted = true;
|
|
1747
|
+
return left;
|
|
1748
|
+
}
|
|
1749
|
+
return nextSchema._zod.run({ value, issues: left.issues }, ctx);
|
|
1602
1750
|
}
|
|
1603
1751
|
export const $ZodReadonly = /*@__PURE__*/ core.$constructor("$ZodReadonly", (inst, def) => {
|
|
1604
1752
|
$ZodType.init(inst, def);
|
|
@@ -1607,6 +1755,9 @@ export const $ZodReadonly = /*@__PURE__*/ core.$constructor("$ZodReadonly", (ins
|
|
|
1607
1755
|
util.defineLazy(inst._zod, "optin", () => def.innerType._zod.optin);
|
|
1608
1756
|
util.defineLazy(inst._zod, "optout", () => def.innerType._zod.optout);
|
|
1609
1757
|
inst._zod.parse = (payload, ctx) => {
|
|
1758
|
+
if (ctx.direction === "backward") {
|
|
1759
|
+
return def.innerType._zod.run(payload, ctx);
|
|
1760
|
+
}
|
|
1610
1761
|
const result = def.innerType._zod.run(payload, ctx);
|
|
1611
1762
|
if (result instanceof Promise) {
|
|
1612
1763
|
return result.then(handleReadonlyResult);
|
|
@@ -1622,7 +1773,8 @@ export const $ZodTemplateLiteral = /*@__PURE__*/ core.$constructor("$ZodTemplate
|
|
|
1622
1773
|
$ZodType.init(inst, def);
|
|
1623
1774
|
const regexParts = [];
|
|
1624
1775
|
for (const part of def.parts) {
|
|
1625
|
-
if (part
|
|
1776
|
+
if (typeof part === "object" && part !== null) {
|
|
1777
|
+
// is Zod schema
|
|
1626
1778
|
if (!part._zod.pattern) {
|
|
1627
1779
|
// if (!source)
|
|
1628
1780
|
throw new Error(`Invalid template literal part, no pattern found: ${[...part._zod.traits].shift()}`);
|
|
@@ -1658,7 +1810,7 @@ export const $ZodTemplateLiteral = /*@__PURE__*/ core.$constructor("$ZodTemplate
|
|
|
1658
1810
|
input: payload.value,
|
|
1659
1811
|
inst,
|
|
1660
1812
|
code: "invalid_format",
|
|
1661
|
-
format: "template_literal",
|
|
1813
|
+
format: def.format ?? "template_literal",
|
|
1662
1814
|
pattern: inst._zod.pattern.source,
|
|
1663
1815
|
});
|
|
1664
1816
|
return payload;
|
|
@@ -1666,6 +1818,85 @@ export const $ZodTemplateLiteral = /*@__PURE__*/ core.$constructor("$ZodTemplate
|
|
|
1666
1818
|
return payload;
|
|
1667
1819
|
};
|
|
1668
1820
|
});
|
|
1821
|
+
export const $ZodFunction = /*@__PURE__*/ core.$constructor("$ZodFunction", (inst, def) => {
|
|
1822
|
+
$ZodType.init(inst, def);
|
|
1823
|
+
inst._def = def;
|
|
1824
|
+
inst._zod.def = def;
|
|
1825
|
+
inst.implement = (func) => {
|
|
1826
|
+
if (typeof func !== "function") {
|
|
1827
|
+
throw new Error("implement() must be called with a function");
|
|
1828
|
+
}
|
|
1829
|
+
return function (...args) {
|
|
1830
|
+
const parsedArgs = inst._def.input ? parse(inst._def.input, args) : args;
|
|
1831
|
+
const result = Reflect.apply(func, this, parsedArgs);
|
|
1832
|
+
if (inst._def.output) {
|
|
1833
|
+
return parse(inst._def.output, result);
|
|
1834
|
+
}
|
|
1835
|
+
return result;
|
|
1836
|
+
};
|
|
1837
|
+
};
|
|
1838
|
+
inst.implementAsync = (func) => {
|
|
1839
|
+
if (typeof func !== "function") {
|
|
1840
|
+
throw new Error("implementAsync() must be called with a function");
|
|
1841
|
+
}
|
|
1842
|
+
return async function (...args) {
|
|
1843
|
+
const parsedArgs = inst._def.input ? await parseAsync(inst._def.input, args) : args;
|
|
1844
|
+
const result = await Reflect.apply(func, this, parsedArgs);
|
|
1845
|
+
if (inst._def.output) {
|
|
1846
|
+
return await parseAsync(inst._def.output, result);
|
|
1847
|
+
}
|
|
1848
|
+
return result;
|
|
1849
|
+
};
|
|
1850
|
+
};
|
|
1851
|
+
inst._zod.parse = (payload, _ctx) => {
|
|
1852
|
+
if (typeof payload.value !== "function") {
|
|
1853
|
+
payload.issues.push({
|
|
1854
|
+
code: "invalid_type",
|
|
1855
|
+
expected: "function",
|
|
1856
|
+
input: payload.value,
|
|
1857
|
+
inst,
|
|
1858
|
+
});
|
|
1859
|
+
return payload;
|
|
1860
|
+
}
|
|
1861
|
+
// Check if output is a promise type to determine if we should use async implementation
|
|
1862
|
+
const hasPromiseOutput = inst._def.output && inst._def.output._zod.def.type === "promise";
|
|
1863
|
+
if (hasPromiseOutput) {
|
|
1864
|
+
payload.value = inst.implementAsync(payload.value);
|
|
1865
|
+
}
|
|
1866
|
+
else {
|
|
1867
|
+
payload.value = inst.implement(payload.value);
|
|
1868
|
+
}
|
|
1869
|
+
return payload;
|
|
1870
|
+
};
|
|
1871
|
+
inst.input = (...args) => {
|
|
1872
|
+
const F = inst.constructor;
|
|
1873
|
+
if (Array.isArray(args[0])) {
|
|
1874
|
+
return new F({
|
|
1875
|
+
type: "function",
|
|
1876
|
+
input: new $ZodTuple({
|
|
1877
|
+
type: "tuple",
|
|
1878
|
+
items: args[0],
|
|
1879
|
+
rest: args[1],
|
|
1880
|
+
}),
|
|
1881
|
+
output: inst._def.output,
|
|
1882
|
+
});
|
|
1883
|
+
}
|
|
1884
|
+
return new F({
|
|
1885
|
+
type: "function",
|
|
1886
|
+
input: args[0],
|
|
1887
|
+
output: inst._def.output,
|
|
1888
|
+
});
|
|
1889
|
+
};
|
|
1890
|
+
inst.output = (output) => {
|
|
1891
|
+
const F = inst.constructor;
|
|
1892
|
+
return new F({
|
|
1893
|
+
type: "function",
|
|
1894
|
+
input: inst._def.input,
|
|
1895
|
+
output,
|
|
1896
|
+
});
|
|
1897
|
+
};
|
|
1898
|
+
return inst;
|
|
1899
|
+
});
|
|
1669
1900
|
export const $ZodPromise = /*@__PURE__*/ core.$constructor("$ZodPromise", (inst, def) => {
|
|
1670
1901
|
$ZodType.init(inst, def);
|
|
1671
1902
|
inst._zod.parse = (payload, ctx) => {
|
|
@@ -1674,11 +1905,18 @@ export const $ZodPromise = /*@__PURE__*/ core.$constructor("$ZodPromise", (inst,
|
|
|
1674
1905
|
});
|
|
1675
1906
|
export const $ZodLazy = /*@__PURE__*/ core.$constructor("$ZodLazy", (inst, def) => {
|
|
1676
1907
|
$ZodType.init(inst, def);
|
|
1908
|
+
// let _innerType!: any;
|
|
1909
|
+
// util.defineLazy(def, "getter", () => {
|
|
1910
|
+
// if (!_innerType) {
|
|
1911
|
+
// _innerType = def.getter();
|
|
1912
|
+
// }
|
|
1913
|
+
// return () => _innerType;
|
|
1914
|
+
// });
|
|
1677
1915
|
util.defineLazy(inst._zod, "innerType", () => def.getter());
|
|
1678
1916
|
util.defineLazy(inst._zod, "pattern", () => inst._zod.innerType._zod.pattern);
|
|
1679
1917
|
util.defineLazy(inst._zod, "propValues", () => inst._zod.innerType._zod.propValues);
|
|
1680
|
-
util.defineLazy(inst._zod, "optin", () => inst._zod.innerType._zod.optin);
|
|
1681
|
-
util.defineLazy(inst._zod, "optout", () => inst._zod.innerType._zod.optout);
|
|
1918
|
+
util.defineLazy(inst._zod, "optin", () => inst._zod.innerType._zod.optin ?? undefined);
|
|
1919
|
+
util.defineLazy(inst._zod, "optout", () => inst._zod.innerType._zod.optout ?? undefined);
|
|
1682
1920
|
inst._zod.parse = (payload, ctx) => {
|
|
1683
1921
|
const inner = inst._zod.innerType;
|
|
1684
1922
|
return inner._zod.run(payload, ctx);
|