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
|
@@ -23,8 +23,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.$
|
|
27
|
-
exports.$ZodCustom = exports.$ZodLazy = exports.$ZodPromise = exports.$ZodTemplateLiteral = exports.$ZodReadonly = exports.$ZodPipe = exports.$ZodNaN = exports.$ZodCatch = exports.$ZodSuccess = exports.$ZodNonOptional = exports.$ZodPrefault = exports.$ZodDefault = exports.$ZodNullable = exports.$ZodOptional = exports.$ZodTransform = exports.$ZodFile = exports.$ZodLiteral = exports.$ZodEnum = void 0;
|
|
26
|
+
exports.$ZodMap = exports.$ZodRecord = exports.$ZodTuple = exports.$ZodIntersection = exports.$ZodDiscriminatedUnion = exports.$ZodUnion = exports.$ZodObjectJIT = exports.$ZodObject = exports.$ZodArray = exports.$ZodDate = exports.$ZodVoid = exports.$ZodNever = exports.$ZodUnknown = exports.$ZodAny = exports.$ZodNull = exports.$ZodUndefined = exports.$ZodSymbol = exports.$ZodBigIntFormat = exports.$ZodBigInt = exports.$ZodBoolean = exports.$ZodNumberFormat = exports.$ZodNumber = exports.$ZodCustomStringFormat = exports.$ZodJWT = exports.$ZodE164 = exports.$ZodBase64URL = exports.$ZodBase64 = exports.$ZodCIDRv6 = exports.$ZodCIDRv4 = exports.$ZodIPv6 = exports.$ZodIPv4 = exports.$ZodISODuration = exports.$ZodISOTime = exports.$ZodISODate = exports.$ZodISODateTime = exports.$ZodKSUID = exports.$ZodXID = exports.$ZodULID = exports.$ZodCUID2 = exports.$ZodCUID = exports.$ZodNanoID = exports.$ZodEmoji = exports.$ZodURL = exports.$ZodEmail = exports.$ZodUUID = exports.$ZodGUID = exports.$ZodStringFormat = exports.$ZodString = exports.clone = exports.$ZodType = void 0;
|
|
27
|
+
exports.$ZodCustom = exports.$ZodLazy = exports.$ZodPromise = exports.$ZodFunction = exports.$ZodTemplateLiteral = exports.$ZodReadonly = exports.$ZodCodec = exports.$ZodPipe = exports.$ZodNaN = exports.$ZodCatch = exports.$ZodSuccess = exports.$ZodNonOptional = exports.$ZodPrefault = exports.$ZodDefault = exports.$ZodNullable = exports.$ZodOptional = exports.$ZodTransform = exports.$ZodFile = exports.$ZodLiteral = exports.$ZodEnum = exports.$ZodSet = void 0;
|
|
28
28
|
exports.isValidBase64 = isValidBase64;
|
|
29
29
|
exports.isValidBase64URL = isValidBase64URL;
|
|
30
30
|
exports.isValidJWT = isValidJWT;
|
|
@@ -46,7 +46,6 @@ exports.$ZodType = core.$constructor("$ZodType", (inst, def) => {
|
|
|
46
46
|
if (inst._zod.traits.has("$ZodCheck")) {
|
|
47
47
|
checks.unshift(inst);
|
|
48
48
|
}
|
|
49
|
-
//
|
|
50
49
|
for (const ch of checks) {
|
|
51
50
|
for (const fn of ch._zod.onattach) {
|
|
52
51
|
fn(inst);
|
|
@@ -103,7 +102,47 @@ exports.$ZodType = core.$constructor("$ZodType", (inst, def) => {
|
|
|
103
102
|
}
|
|
104
103
|
return payload;
|
|
105
104
|
};
|
|
105
|
+
// const handleChecksResult = (
|
|
106
|
+
// checkResult: ParsePayload,
|
|
107
|
+
// originalResult: ParsePayload,
|
|
108
|
+
// ctx: ParseContextInternal
|
|
109
|
+
// ): util.MaybeAsync<ParsePayload> => {
|
|
110
|
+
// // if the checks mutated the value && there are no issues, re-parse the result
|
|
111
|
+
// if (checkResult.value !== originalResult.value && !checkResult.issues.length)
|
|
112
|
+
// return inst._zod.parse(checkResult, ctx);
|
|
113
|
+
// return originalResult;
|
|
114
|
+
// };
|
|
115
|
+
const handleCanaryResult = (canary, payload, ctx) => {
|
|
116
|
+
// abort if the canary is aborted
|
|
117
|
+
if (util.aborted(canary)) {
|
|
118
|
+
canary.aborted = true;
|
|
119
|
+
return canary;
|
|
120
|
+
}
|
|
121
|
+
// run checks first, then
|
|
122
|
+
const checkResult = runChecks(payload, checks, ctx);
|
|
123
|
+
if (checkResult instanceof Promise) {
|
|
124
|
+
if (ctx.async === false)
|
|
125
|
+
throw new core.$ZodAsyncError();
|
|
126
|
+
return checkResult.then((checkResult) => inst._zod.parse(checkResult, ctx));
|
|
127
|
+
}
|
|
128
|
+
return inst._zod.parse(checkResult, ctx);
|
|
129
|
+
};
|
|
106
130
|
inst._zod.run = (payload, ctx) => {
|
|
131
|
+
if (ctx.skipChecks) {
|
|
132
|
+
return inst._zod.parse(payload, ctx);
|
|
133
|
+
}
|
|
134
|
+
if (ctx.direction === "backward") {
|
|
135
|
+
// run canary
|
|
136
|
+
// initial pass (no checks)
|
|
137
|
+
const canary = inst._zod.parse({ value: payload.value, issues: [] }, { ...ctx, skipChecks: true });
|
|
138
|
+
if (canary instanceof Promise) {
|
|
139
|
+
return canary.then((canary) => {
|
|
140
|
+
return handleCanaryResult(canary, payload, ctx);
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
return handleCanaryResult(canary, payload, ctx);
|
|
144
|
+
}
|
|
145
|
+
// forward
|
|
107
146
|
const result = inst._zod.parse(payload, ctx);
|
|
108
147
|
if (result instanceof Promise) {
|
|
109
148
|
if (ctx.async === false)
|
|
@@ -187,9 +226,10 @@ exports.$ZodURL = core.$constructor("$ZodURL", (inst, def) => {
|
|
|
187
226
|
exports.$ZodStringFormat.init(inst, def);
|
|
188
227
|
inst._zod.check = (payload) => {
|
|
189
228
|
try {
|
|
190
|
-
|
|
191
|
-
const
|
|
192
|
-
|
|
229
|
+
// Trim whitespace from input
|
|
230
|
+
const trimmed = payload.value.trim();
|
|
231
|
+
// @ts-ignore
|
|
232
|
+
const url = new URL(trimmed);
|
|
193
233
|
if (def.hostname) {
|
|
194
234
|
def.hostname.lastIndex = 0;
|
|
195
235
|
if (!def.hostname.test(url.hostname)) {
|
|
@@ -218,12 +258,14 @@ exports.$ZodURL = core.$constructor("$ZodURL", (inst, def) => {
|
|
|
218
258
|
});
|
|
219
259
|
}
|
|
220
260
|
}
|
|
221
|
-
//
|
|
222
|
-
if (
|
|
223
|
-
|
|
261
|
+
// Set the output value based on normalize flag
|
|
262
|
+
if (def.normalize) {
|
|
263
|
+
// Use normalized URL
|
|
264
|
+
payload.value = url.href;
|
|
224
265
|
}
|
|
225
266
|
else {
|
|
226
|
-
|
|
267
|
+
// Preserve the original input (trimmed)
|
|
268
|
+
payload.value = trimmed;
|
|
227
269
|
}
|
|
228
270
|
return;
|
|
229
271
|
}
|
|
@@ -299,6 +341,7 @@ exports.$ZodIPv6 = core.$constructor("$ZodIPv6", (inst, def) => {
|
|
|
299
341
|
});
|
|
300
342
|
inst._zod.check = (payload) => {
|
|
301
343
|
try {
|
|
344
|
+
// @ts-ignore
|
|
302
345
|
new URL(`http://[${payload.value}]`);
|
|
303
346
|
// return;
|
|
304
347
|
}
|
|
@@ -321,8 +364,11 @@ exports.$ZodCIDRv6 = core.$constructor("$ZodCIDRv6", (inst, def) => {
|
|
|
321
364
|
def.pattern ?? (def.pattern = regexes.cidrv6); // not used for validation
|
|
322
365
|
exports.$ZodStringFormat.init(inst, def);
|
|
323
366
|
inst._zod.check = (payload) => {
|
|
324
|
-
const
|
|
367
|
+
const parts = payload.value.split("/");
|
|
325
368
|
try {
|
|
369
|
+
if (parts.length !== 2)
|
|
370
|
+
throw new Error();
|
|
371
|
+
const [address, prefix] = parts;
|
|
326
372
|
if (!prefix)
|
|
327
373
|
throw new Error();
|
|
328
374
|
const prefixNum = Number(prefix);
|
|
@@ -330,6 +376,7 @@ exports.$ZodCIDRv6 = core.$constructor("$ZodCIDRv6", (inst, def) => {
|
|
|
330
376
|
throw new Error();
|
|
331
377
|
if (prefixNum < 0 || prefixNum > 128)
|
|
332
378
|
throw new Error();
|
|
379
|
+
// @ts-ignore
|
|
333
380
|
new URL(`http://[${address}]`);
|
|
334
381
|
}
|
|
335
382
|
catch {
|
|
@@ -350,6 +397,7 @@ function isValidBase64(data) {
|
|
|
350
397
|
if (data.length % 4 !== 0)
|
|
351
398
|
return false;
|
|
352
399
|
try {
|
|
400
|
+
// @ts-ignore
|
|
353
401
|
atob(data);
|
|
354
402
|
return true;
|
|
355
403
|
}
|
|
@@ -414,6 +462,7 @@ function isValidJWT(token, algorithm = null) {
|
|
|
414
462
|
const [header] = tokensParts;
|
|
415
463
|
if (!header)
|
|
416
464
|
return false;
|
|
465
|
+
// @ts-ignore
|
|
417
466
|
const parsedHeader = JSON.parse(atob(header));
|
|
418
467
|
if ("typ" in parsedHeader && parsedHeader?.typ !== "JWT")
|
|
419
468
|
return false;
|
|
@@ -684,58 +733,88 @@ exports.$ZodArray = core.$constructor("$ZodArray", (inst, def) => {
|
|
|
684
733
|
return payload; //handleArrayResultsAsync(parseResults, final);
|
|
685
734
|
};
|
|
686
735
|
});
|
|
687
|
-
function
|
|
688
|
-
// if(isOptional)
|
|
736
|
+
function handlePropertyResult(result, final, key, input) {
|
|
689
737
|
if (result.issues.length) {
|
|
690
738
|
final.issues.push(...util.prefixIssues(key, result.issues));
|
|
691
739
|
}
|
|
692
|
-
|
|
740
|
+
if (result.value === undefined) {
|
|
741
|
+
if (key in input) {
|
|
742
|
+
final.value[key] = undefined;
|
|
743
|
+
}
|
|
744
|
+
}
|
|
745
|
+
else {
|
|
746
|
+
final.value[key] = result.value;
|
|
747
|
+
}
|
|
693
748
|
}
|
|
694
|
-
function
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
if (
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
749
|
+
function normalizeDef(def) {
|
|
750
|
+
const keys = Object.keys(def.shape);
|
|
751
|
+
for (const k of keys) {
|
|
752
|
+
if (!def.shape?.[k]?._zod?.traits?.has("$ZodType")) {
|
|
753
|
+
throw new Error(`Invalid element at key "${k}": expected a Zod schema`);
|
|
754
|
+
}
|
|
755
|
+
}
|
|
756
|
+
const okeys = util.optionalKeys(def.shape);
|
|
757
|
+
return {
|
|
758
|
+
...def,
|
|
759
|
+
keys,
|
|
760
|
+
keySet: new Set(keys),
|
|
761
|
+
numKeys: keys.length,
|
|
762
|
+
optionalKeys: new Set(okeys),
|
|
763
|
+
};
|
|
764
|
+
}
|
|
765
|
+
function handleCatchall(proms, input, payload, ctx, def, inst) {
|
|
766
|
+
const unrecognized = [];
|
|
767
|
+
// iterate over input keys
|
|
768
|
+
const keySet = def.keySet;
|
|
769
|
+
const _catchall = def.catchall._zod;
|
|
770
|
+
const t = _catchall.def.type;
|
|
771
|
+
for (const key of Object.keys(input)) {
|
|
772
|
+
if (keySet.has(key))
|
|
773
|
+
continue;
|
|
774
|
+
if (t === "never") {
|
|
775
|
+
unrecognized.push(key);
|
|
776
|
+
continue;
|
|
777
|
+
}
|
|
778
|
+
const r = _catchall.run({ value: input[key], issues: [] }, ctx);
|
|
779
|
+
if (r instanceof Promise) {
|
|
780
|
+
proms.push(r.then((r) => handlePropertyResult(r, payload, key, input)));
|
|
705
781
|
}
|
|
706
782
|
else {
|
|
707
|
-
|
|
783
|
+
handlePropertyResult(r, payload, key, input);
|
|
708
784
|
}
|
|
709
785
|
}
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
final.value[key] = result.value;
|
|
786
|
+
if (unrecognized.length) {
|
|
787
|
+
payload.issues.push({
|
|
788
|
+
code: "unrecognized_keys",
|
|
789
|
+
keys: unrecognized,
|
|
790
|
+
input,
|
|
791
|
+
inst,
|
|
792
|
+
});
|
|
718
793
|
}
|
|
794
|
+
if (!proms.length)
|
|
795
|
+
return payload;
|
|
796
|
+
return Promise.all(proms).then(() => {
|
|
797
|
+
return payload;
|
|
798
|
+
});
|
|
719
799
|
}
|
|
720
800
|
exports.$ZodObject = core.$constructor("$ZodObject", (inst, def) => {
|
|
721
801
|
// requires cast because technically $ZodObject doesn't extend
|
|
722
802
|
exports.$ZodType.init(inst, def);
|
|
723
|
-
const
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
});
|
|
803
|
+
// const sh = def.shape;
|
|
804
|
+
const desc = Object.getOwnPropertyDescriptor(def, "shape");
|
|
805
|
+
if (!desc?.get) {
|
|
806
|
+
const sh = def.shape;
|
|
807
|
+
Object.defineProperty(def, "shape", {
|
|
808
|
+
get: () => {
|
|
809
|
+
const newSh = { ...sh };
|
|
810
|
+
Object.defineProperty(def, "shape", {
|
|
811
|
+
value: newSh,
|
|
812
|
+
});
|
|
813
|
+
return newSh;
|
|
814
|
+
},
|
|
815
|
+
});
|
|
816
|
+
}
|
|
817
|
+
const _normalized = util.cached(() => normalizeDef(def));
|
|
739
818
|
util.defineLazy(inst._zod, "propValues", () => {
|
|
740
819
|
const shape = def.shape;
|
|
741
820
|
const propValues = {};
|
|
@@ -749,6 +828,45 @@ exports.$ZodObject = core.$constructor("$ZodObject", (inst, def) => {
|
|
|
749
828
|
}
|
|
750
829
|
return propValues;
|
|
751
830
|
});
|
|
831
|
+
const isObject = util.isObject;
|
|
832
|
+
const catchall = def.catchall;
|
|
833
|
+
let value;
|
|
834
|
+
inst._zod.parse = (payload, ctx) => {
|
|
835
|
+
value ?? (value = _normalized.value);
|
|
836
|
+
const input = payload.value;
|
|
837
|
+
if (!isObject(input)) {
|
|
838
|
+
payload.issues.push({
|
|
839
|
+
expected: "object",
|
|
840
|
+
code: "invalid_type",
|
|
841
|
+
input,
|
|
842
|
+
inst,
|
|
843
|
+
});
|
|
844
|
+
return payload;
|
|
845
|
+
}
|
|
846
|
+
payload.value = {};
|
|
847
|
+
const proms = [];
|
|
848
|
+
const shape = value.shape;
|
|
849
|
+
for (const key of value.keys) {
|
|
850
|
+
const el = shape[key];
|
|
851
|
+
const r = el._zod.run({ value: input[key], issues: [] }, ctx);
|
|
852
|
+
if (r instanceof Promise) {
|
|
853
|
+
proms.push(r.then((r) => handlePropertyResult(r, payload, key, input)));
|
|
854
|
+
}
|
|
855
|
+
else {
|
|
856
|
+
handlePropertyResult(r, payload, key, input);
|
|
857
|
+
}
|
|
858
|
+
}
|
|
859
|
+
if (!catchall) {
|
|
860
|
+
return proms.length ? Promise.all(proms).then(() => payload) : payload;
|
|
861
|
+
}
|
|
862
|
+
return handleCatchall(proms, input, payload, ctx, _normalized.value, inst);
|
|
863
|
+
};
|
|
864
|
+
});
|
|
865
|
+
exports.$ZodObjectJIT = core.$constructor("$ZodObjectJIT", (inst, def) => {
|
|
866
|
+
// requires cast because technically $ZodObject doesn't extend
|
|
867
|
+
exports.$ZodObject.init(inst, def);
|
|
868
|
+
const superParse = inst._zod.parse;
|
|
869
|
+
const _normalized = util.cached(() => normalizeDef(def));
|
|
752
870
|
const generateFastpass = (shape) => {
|
|
753
871
|
const doc = new doc_js_1.Doc(["shape", "payload", "ctx"]);
|
|
754
872
|
const normalized = _normalized.value;
|
|
@@ -763,44 +881,29 @@ exports.$ZodObject = core.$constructor("$ZodObject", (inst, def) => {
|
|
|
763
881
|
ids[key] = `key_${counter++}`;
|
|
764
882
|
}
|
|
765
883
|
// A: preserve key order {
|
|
766
|
-
doc.write(`const newResult = {}
|
|
884
|
+
doc.write(`const newResult = {};`);
|
|
767
885
|
for (const key of normalized.keys) {
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
doc.write(`
|
|
886
|
+
const id = ids[key];
|
|
887
|
+
const k = util.esc(key);
|
|
888
|
+
doc.write(`const ${id} = ${parseStr(key)};`);
|
|
889
|
+
doc.write(`
|
|
773
890
|
if (${id}.issues.length) {
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
);
|
|
891
|
+
payload.issues = payload.issues.concat(${id}.issues.map(iss => ({
|
|
892
|
+
...iss,
|
|
893
|
+
path: iss.path ? [${k}, ...iss.path] : [${k}]
|
|
894
|
+
})));
|
|
895
|
+
}
|
|
896
|
+
|
|
897
|
+
|
|
898
|
+
if (${id}.value === undefined) {
|
|
899
|
+
if (${k} in input) {
|
|
900
|
+
newResult[${k}] = undefined;
|
|
785
901
|
}
|
|
786
|
-
} else if (${id}.value === undefined) {
|
|
787
|
-
if (${k} in input) newResult[${k}] = undefined;
|
|
788
902
|
} else {
|
|
789
903
|
newResult[${k}] = ${id}.value;
|
|
790
904
|
}
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
else {
|
|
794
|
-
const id = ids[key];
|
|
795
|
-
// const id = ids[key];
|
|
796
|
-
doc.write(`const ${id} = ${parseStr(key)};`);
|
|
797
|
-
doc.write(`
|
|
798
|
-
if (${id}.issues.length) payload.issues = payload.issues.concat(${id}.issues.map(iss => ({
|
|
799
|
-
...iss,
|
|
800
|
-
path: iss.path ? [${util.esc(key)}, ...iss.path] : [${util.esc(key)}]
|
|
801
|
-
})));`);
|
|
802
|
-
doc.write(`newResult[${util.esc(key)}] = ${id}.value`);
|
|
803
|
-
}
|
|
905
|
+
|
|
906
|
+
`);
|
|
804
907
|
}
|
|
805
908
|
doc.write(`payload.value = newResult;`);
|
|
806
909
|
doc.write(`return payload;`);
|
|
@@ -826,80 +929,16 @@ exports.$ZodObject = core.$constructor("$ZodObject", (inst, def) => {
|
|
|
826
929
|
});
|
|
827
930
|
return payload;
|
|
828
931
|
}
|
|
829
|
-
const proms = [];
|
|
830
932
|
if (jit && fastEnabled && ctx?.async === false && ctx.jitless !== true) {
|
|
831
933
|
// always synchronous
|
|
832
934
|
if (!fastpass)
|
|
833
935
|
fastpass = generateFastpass(def.shape);
|
|
834
936
|
payload = fastpass(payload, ctx);
|
|
937
|
+
if (!catchall)
|
|
938
|
+
return payload;
|
|
939
|
+
return handleCatchall([], input, payload, ctx, value, inst);
|
|
835
940
|
}
|
|
836
|
-
|
|
837
|
-
payload.value = {};
|
|
838
|
-
const shape = value.shape;
|
|
839
|
-
for (const key of value.keys) {
|
|
840
|
-
const el = shape[key];
|
|
841
|
-
// do not add omitted optional keys
|
|
842
|
-
// if (!(key in input)) {
|
|
843
|
-
// if (optionalKeys.has(key)) continue;
|
|
844
|
-
// payload.issues.push({
|
|
845
|
-
// code: "invalid_type",
|
|
846
|
-
// path: [key],
|
|
847
|
-
// expected: "nonoptional",
|
|
848
|
-
// note: `Missing required key: "${key}"`,
|
|
849
|
-
// input,
|
|
850
|
-
// inst,
|
|
851
|
-
// });
|
|
852
|
-
// }
|
|
853
|
-
const r = el._zod.run({ value: input[key], issues: [] }, ctx);
|
|
854
|
-
const isOptional = el._zod.optin === "optional" && el._zod.optout === "optional";
|
|
855
|
-
if (r instanceof Promise) {
|
|
856
|
-
proms.push(r.then((r) => isOptional ? handleOptionalObjectResult(r, payload, key, input) : handleObjectResult(r, payload, key)));
|
|
857
|
-
}
|
|
858
|
-
else if (isOptional) {
|
|
859
|
-
handleOptionalObjectResult(r, payload, key, input);
|
|
860
|
-
}
|
|
861
|
-
else {
|
|
862
|
-
handleObjectResult(r, payload, key);
|
|
863
|
-
}
|
|
864
|
-
}
|
|
865
|
-
}
|
|
866
|
-
if (!catchall) {
|
|
867
|
-
// return payload;
|
|
868
|
-
return proms.length ? Promise.all(proms).then(() => payload) : payload;
|
|
869
|
-
}
|
|
870
|
-
const unrecognized = [];
|
|
871
|
-
// iterate over input keys
|
|
872
|
-
const keySet = value.keySet;
|
|
873
|
-
const _catchall = catchall._zod;
|
|
874
|
-
const t = _catchall.def.type;
|
|
875
|
-
for (const key of Object.keys(input)) {
|
|
876
|
-
if (keySet.has(key))
|
|
877
|
-
continue;
|
|
878
|
-
if (t === "never") {
|
|
879
|
-
unrecognized.push(key);
|
|
880
|
-
continue;
|
|
881
|
-
}
|
|
882
|
-
const r = _catchall.run({ value: input[key], issues: [] }, ctx);
|
|
883
|
-
if (r instanceof Promise) {
|
|
884
|
-
proms.push(r.then((r) => handleObjectResult(r, payload, key)));
|
|
885
|
-
}
|
|
886
|
-
else {
|
|
887
|
-
handleObjectResult(r, payload, key);
|
|
888
|
-
}
|
|
889
|
-
}
|
|
890
|
-
if (unrecognized.length) {
|
|
891
|
-
payload.issues.push({
|
|
892
|
-
code: "unrecognized_keys",
|
|
893
|
-
keys: unrecognized,
|
|
894
|
-
input,
|
|
895
|
-
inst,
|
|
896
|
-
});
|
|
897
|
-
}
|
|
898
|
-
if (!proms.length)
|
|
899
|
-
return payload;
|
|
900
|
-
return Promise.all(proms).then(() => {
|
|
901
|
-
return payload;
|
|
902
|
-
});
|
|
941
|
+
return superParse(payload, ctx);
|
|
903
942
|
};
|
|
904
943
|
});
|
|
905
944
|
function handleUnionResults(results, final, inst, ctx) {
|
|
@@ -909,6 +948,11 @@ function handleUnionResults(results, final, inst, ctx) {
|
|
|
909
948
|
return final;
|
|
910
949
|
}
|
|
911
950
|
}
|
|
951
|
+
const nonaborted = results.filter((r) => !util.aborted(r));
|
|
952
|
+
if (nonaborted.length === 1) {
|
|
953
|
+
final.value = nonaborted[0].value;
|
|
954
|
+
return nonaborted[0];
|
|
955
|
+
}
|
|
912
956
|
final.issues.push({
|
|
913
957
|
code: "invalid_union",
|
|
914
958
|
input: final.value,
|
|
@@ -934,7 +978,12 @@ exports.$ZodUnion = core.$constructor("$ZodUnion", (inst, def) => {
|
|
|
934
978
|
}
|
|
935
979
|
return undefined;
|
|
936
980
|
});
|
|
981
|
+
const single = def.options.length === 1;
|
|
982
|
+
const first = def.options[0]._zod.run;
|
|
937
983
|
inst._zod.parse = (payload, ctx) => {
|
|
984
|
+
if (single) {
|
|
985
|
+
return first(payload, ctx);
|
|
986
|
+
}
|
|
938
987
|
let async = false;
|
|
939
988
|
const results = [];
|
|
940
989
|
for (const option of def.options) {
|
|
@@ -984,7 +1033,7 @@ core.$constructor("$ZodDiscriminatedUnion", (inst, def) => {
|
|
|
984
1033
|
const opts = def.options;
|
|
985
1034
|
const map = new Map();
|
|
986
1035
|
for (const o of opts) {
|
|
987
|
-
const values = o._zod.propValues[def.discriminator];
|
|
1036
|
+
const values = o._zod.propValues?.[def.discriminator];
|
|
988
1037
|
if (!values || values.size === 0)
|
|
989
1038
|
throw new Error(`Invalid discriminated union option at index "${def.options.indexOf(o)}"`);
|
|
990
1039
|
for (const v of values) {
|
|
@@ -1019,6 +1068,7 @@ core.$constructor("$ZodDiscriminatedUnion", (inst, def) => {
|
|
|
1019
1068
|
code: "invalid_union",
|
|
1020
1069
|
errors: [],
|
|
1021
1070
|
note: "No matching discriminator",
|
|
1071
|
+
discriminator: def.discriminator,
|
|
1022
1072
|
input,
|
|
1023
1073
|
path: [def.discriminator],
|
|
1024
1074
|
inst,
|
|
@@ -1125,10 +1175,10 @@ exports.$ZodTuple = core.$constructor("$ZodTuple", (inst, def) => {
|
|
|
1125
1175
|
const tooSmall = input.length < optStart - 1;
|
|
1126
1176
|
if (tooBig || tooSmall) {
|
|
1127
1177
|
payload.issues.push({
|
|
1178
|
+
...(tooBig ? { code: "too_big", maximum: items.length } : { code: "too_small", minimum: items.length }),
|
|
1128
1179
|
input,
|
|
1129
1180
|
inst,
|
|
1130
1181
|
origin: "array",
|
|
1131
|
-
...(tooBig ? { code: "too_big", maximum: items.length } : { code: "too_small", minimum: items.length }),
|
|
1132
1182
|
});
|
|
1133
1183
|
return payload;
|
|
1134
1184
|
}
|
|
@@ -1240,8 +1290,8 @@ exports.$ZodRecord = core.$constructor("$ZodRecord", (inst, def) => {
|
|
|
1240
1290
|
}
|
|
1241
1291
|
if (keyResult.issues.length) {
|
|
1242
1292
|
payload.issues.push({
|
|
1243
|
-
origin: "record",
|
|
1244
1293
|
code: "invalid_key",
|
|
1294
|
+
origin: "record",
|
|
1245
1295
|
issues: keyResult.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),
|
|
1246
1296
|
input: key,
|
|
1247
1297
|
path: [key],
|
|
@@ -1312,8 +1362,8 @@ function handleMapResult(keyResult, valueResult, final, key, input, inst, ctx) {
|
|
|
1312
1362
|
}
|
|
1313
1363
|
else {
|
|
1314
1364
|
final.issues.push({
|
|
1315
|
-
origin: "map",
|
|
1316
1365
|
code: "invalid_key",
|
|
1366
|
+
origin: "map",
|
|
1317
1367
|
input,
|
|
1318
1368
|
inst,
|
|
1319
1369
|
issues: keyResult.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),
|
|
@@ -1374,14 +1424,15 @@ function handleSetResult(result, final) {
|
|
|
1374
1424
|
exports.$ZodEnum = core.$constructor("$ZodEnum", (inst, def) => {
|
|
1375
1425
|
exports.$ZodType.init(inst, def);
|
|
1376
1426
|
const values = util.getEnumValues(def.entries);
|
|
1377
|
-
|
|
1427
|
+
const valuesSet = new Set(values);
|
|
1428
|
+
inst._zod.values = valuesSet;
|
|
1378
1429
|
inst._zod.pattern = new RegExp(`^(${values
|
|
1379
1430
|
.filter((k) => util.propertyKeyTypes.has(typeof k))
|
|
1380
1431
|
.map((o) => (typeof o === "string" ? util.escapeRegex(o) : o.toString()))
|
|
1381
1432
|
.join("|")})$`);
|
|
1382
1433
|
inst._zod.parse = (payload, _ctx) => {
|
|
1383
1434
|
const input = payload.value;
|
|
1384
|
-
if (
|
|
1435
|
+
if (valuesSet.has(input)) {
|
|
1385
1436
|
return payload;
|
|
1386
1437
|
}
|
|
1387
1438
|
payload.issues.push({
|
|
@@ -1395,9 +1446,12 @@ exports.$ZodEnum = core.$constructor("$ZodEnum", (inst, def) => {
|
|
|
1395
1446
|
});
|
|
1396
1447
|
exports.$ZodLiteral = core.$constructor("$ZodLiteral", (inst, def) => {
|
|
1397
1448
|
exports.$ZodType.init(inst, def);
|
|
1449
|
+
if (def.values.length === 0) {
|
|
1450
|
+
throw new Error("Cannot create literal schema with no valid values");
|
|
1451
|
+
}
|
|
1398
1452
|
inst._zod.values = new Set(def.values);
|
|
1399
1453
|
inst._zod.pattern = new RegExp(`^(${def.values
|
|
1400
|
-
.map((o) => (typeof o === "string" ? util.escapeRegex(o) : o ? o.toString() : String(o)))
|
|
1454
|
+
.map((o) => (typeof o === "string" ? util.escapeRegex(o) : o ? util.escapeRegex(o.toString()) : String(o)))
|
|
1401
1455
|
.join("|")})$`);
|
|
1402
1456
|
inst._zod.parse = (payload, _ctx) => {
|
|
1403
1457
|
const input = payload.value;
|
|
@@ -1417,6 +1471,7 @@ exports.$ZodFile = core.$constructor("$ZodFile", (inst, def) => {
|
|
|
1417
1471
|
exports.$ZodType.init(inst, def);
|
|
1418
1472
|
inst._zod.parse = (payload, _ctx) => {
|
|
1419
1473
|
const input = payload.value;
|
|
1474
|
+
// @ts-ignore
|
|
1420
1475
|
if (input instanceof File)
|
|
1421
1476
|
return payload;
|
|
1422
1477
|
payload.issues.push({
|
|
@@ -1430,9 +1485,12 @@ exports.$ZodFile = core.$constructor("$ZodFile", (inst, def) => {
|
|
|
1430
1485
|
});
|
|
1431
1486
|
exports.$ZodTransform = core.$constructor("$ZodTransform", (inst, def) => {
|
|
1432
1487
|
exports.$ZodType.init(inst, def);
|
|
1433
|
-
inst._zod.parse = (payload,
|
|
1488
|
+
inst._zod.parse = (payload, ctx) => {
|
|
1489
|
+
if (ctx.direction === "backward") {
|
|
1490
|
+
throw new core.$ZodEncodeError(inst.constructor.name);
|
|
1491
|
+
}
|
|
1434
1492
|
const _out = def.transform(payload.value, payload);
|
|
1435
|
-
if (
|
|
1493
|
+
if (ctx.async) {
|
|
1436
1494
|
const output = _out instanceof Promise ? _out : Promise.resolve(_out);
|
|
1437
1495
|
return output.then((output) => {
|
|
1438
1496
|
payload.value = output;
|
|
@@ -1446,6 +1504,12 @@ exports.$ZodTransform = core.$constructor("$ZodTransform", (inst, def) => {
|
|
|
1446
1504
|
return payload;
|
|
1447
1505
|
};
|
|
1448
1506
|
});
|
|
1507
|
+
function handleOptionalResult(result, input) {
|
|
1508
|
+
if (result.issues.length && input === undefined) {
|
|
1509
|
+
return { issues: [], value: undefined };
|
|
1510
|
+
}
|
|
1511
|
+
return result;
|
|
1512
|
+
}
|
|
1449
1513
|
exports.$ZodOptional = core.$constructor("$ZodOptional", (inst, def) => {
|
|
1450
1514
|
exports.$ZodType.init(inst, def);
|
|
1451
1515
|
inst._zod.optin = "optional";
|
|
@@ -1459,7 +1523,10 @@ exports.$ZodOptional = core.$constructor("$ZodOptional", (inst, def) => {
|
|
|
1459
1523
|
});
|
|
1460
1524
|
inst._zod.parse = (payload, ctx) => {
|
|
1461
1525
|
if (def.innerType._zod.optin === "optional") {
|
|
1462
|
-
|
|
1526
|
+
const result = def.innerType._zod.run(payload, ctx);
|
|
1527
|
+
if (result instanceof Promise)
|
|
1528
|
+
return result.then((r) => handleOptionalResult(r, payload.value));
|
|
1529
|
+
return handleOptionalResult(result, payload.value);
|
|
1463
1530
|
}
|
|
1464
1531
|
if (payload.value === undefined) {
|
|
1465
1532
|
return payload;
|
|
@@ -1479,6 +1546,7 @@ exports.$ZodNullable = core.$constructor("$ZodNullable", (inst, def) => {
|
|
|
1479
1546
|
return def.innerType._zod.values ? new Set([...def.innerType._zod.values, null]) : undefined;
|
|
1480
1547
|
});
|
|
1481
1548
|
inst._zod.parse = (payload, ctx) => {
|
|
1549
|
+
// Forward direction (decode): allow null to pass through
|
|
1482
1550
|
if (payload.value === null)
|
|
1483
1551
|
return payload;
|
|
1484
1552
|
return def.innerType._zod.run(payload, ctx);
|
|
@@ -1490,13 +1558,18 @@ exports.$ZodDefault = core.$constructor("$ZodDefault", (inst, def) => {
|
|
|
1490
1558
|
inst._zod.optin = "optional";
|
|
1491
1559
|
util.defineLazy(inst._zod, "values", () => def.innerType._zod.values);
|
|
1492
1560
|
inst._zod.parse = (payload, ctx) => {
|
|
1561
|
+
if (ctx.direction === "backward") {
|
|
1562
|
+
return def.innerType._zod.run(payload, ctx);
|
|
1563
|
+
}
|
|
1564
|
+
// Forward direction (decode): apply defaults for undefined input
|
|
1493
1565
|
if (payload.value === undefined) {
|
|
1494
1566
|
payload.value = def.defaultValue;
|
|
1495
1567
|
/**
|
|
1496
|
-
* $ZodDefault
|
|
1568
|
+
* $ZodDefault returns the default value immediately in forward direction.
|
|
1497
1569
|
* 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. */
|
|
1498
1570
|
return payload;
|
|
1499
1571
|
}
|
|
1572
|
+
// Forward direction: continue with default handling
|
|
1500
1573
|
const result = def.innerType._zod.run(payload, ctx);
|
|
1501
1574
|
if (result instanceof Promise) {
|
|
1502
1575
|
return result.then((result) => handleDefaultResult(result, def));
|
|
@@ -1515,6 +1588,10 @@ exports.$ZodPrefault = core.$constructor("$ZodPrefault", (inst, def) => {
|
|
|
1515
1588
|
inst._zod.optin = "optional";
|
|
1516
1589
|
util.defineLazy(inst._zod, "values", () => def.innerType._zod.values);
|
|
1517
1590
|
inst._zod.parse = (payload, ctx) => {
|
|
1591
|
+
if (ctx.direction === "backward") {
|
|
1592
|
+
return def.innerType._zod.run(payload, ctx);
|
|
1593
|
+
}
|
|
1594
|
+
// Forward direction (decode): apply prefault for undefined input
|
|
1518
1595
|
if (payload.value === undefined) {
|
|
1519
1596
|
payload.value = def.defaultValue;
|
|
1520
1597
|
}
|
|
@@ -1549,6 +1626,9 @@ function handleNonOptionalResult(payload, inst) {
|
|
|
1549
1626
|
exports.$ZodSuccess = core.$constructor("$ZodSuccess", (inst, def) => {
|
|
1550
1627
|
exports.$ZodType.init(inst, def);
|
|
1551
1628
|
inst._zod.parse = (payload, ctx) => {
|
|
1629
|
+
if (ctx.direction === "backward") {
|
|
1630
|
+
throw new core.$ZodEncodeError("ZodSuccess");
|
|
1631
|
+
}
|
|
1552
1632
|
const result = def.innerType._zod.run(payload, ctx);
|
|
1553
1633
|
if (result instanceof Promise) {
|
|
1554
1634
|
return result.then((result) => {
|
|
@@ -1562,10 +1642,14 @@ exports.$ZodSuccess = core.$constructor("$ZodSuccess", (inst, def) => {
|
|
|
1562
1642
|
});
|
|
1563
1643
|
exports.$ZodCatch = core.$constructor("$ZodCatch", (inst, def) => {
|
|
1564
1644
|
exports.$ZodType.init(inst, def);
|
|
1565
|
-
inst._zod
|
|
1645
|
+
util.defineLazy(inst._zod, "optin", () => def.innerType._zod.optin);
|
|
1566
1646
|
util.defineLazy(inst._zod, "optout", () => def.innerType._zod.optout);
|
|
1567
1647
|
util.defineLazy(inst._zod, "values", () => def.innerType._zod.values);
|
|
1568
1648
|
inst._zod.parse = (payload, ctx) => {
|
|
1649
|
+
if (ctx.direction === "backward") {
|
|
1650
|
+
return def.innerType._zod.run(payload, ctx);
|
|
1651
|
+
}
|
|
1652
|
+
// Forward direction (decode): apply catch logic
|
|
1569
1653
|
const result = def.innerType._zod.run(payload, ctx);
|
|
1570
1654
|
if (result instanceof Promise) {
|
|
1571
1655
|
return result.then((result) => {
|
|
@@ -1617,19 +1701,83 @@ exports.$ZodPipe = core.$constructor("$ZodPipe", (inst, def) => {
|
|
|
1617
1701
|
util.defineLazy(inst._zod, "values", () => def.in._zod.values);
|
|
1618
1702
|
util.defineLazy(inst._zod, "optin", () => def.in._zod.optin);
|
|
1619
1703
|
util.defineLazy(inst._zod, "optout", () => def.out._zod.optout);
|
|
1704
|
+
util.defineLazy(inst._zod, "propValues", () => def.in._zod.propValues);
|
|
1620
1705
|
inst._zod.parse = (payload, ctx) => {
|
|
1706
|
+
if (ctx.direction === "backward") {
|
|
1707
|
+
const right = def.out._zod.run(payload, ctx);
|
|
1708
|
+
if (right instanceof Promise) {
|
|
1709
|
+
return right.then((right) => handlePipeResult(right, def.in, ctx));
|
|
1710
|
+
}
|
|
1711
|
+
return handlePipeResult(right, def.in, ctx);
|
|
1712
|
+
}
|
|
1621
1713
|
const left = def.in._zod.run(payload, ctx);
|
|
1622
1714
|
if (left instanceof Promise) {
|
|
1623
|
-
return left.then((left) => handlePipeResult(left, def, ctx));
|
|
1715
|
+
return left.then((left) => handlePipeResult(left, def.out, ctx));
|
|
1624
1716
|
}
|
|
1625
|
-
return handlePipeResult(left, def, ctx);
|
|
1717
|
+
return handlePipeResult(left, def.out, ctx);
|
|
1626
1718
|
};
|
|
1627
1719
|
});
|
|
1628
|
-
function handlePipeResult(left,
|
|
1629
|
-
if (
|
|
1720
|
+
function handlePipeResult(left, next, ctx) {
|
|
1721
|
+
if (left.issues.length) {
|
|
1722
|
+
// prevent further checks
|
|
1723
|
+
left.aborted = true;
|
|
1630
1724
|
return left;
|
|
1631
1725
|
}
|
|
1632
|
-
return
|
|
1726
|
+
return next._zod.run({ value: left.value, issues: left.issues }, ctx);
|
|
1727
|
+
}
|
|
1728
|
+
exports.$ZodCodec = core.$constructor("$ZodCodec", (inst, def) => {
|
|
1729
|
+
exports.$ZodType.init(inst, def);
|
|
1730
|
+
util.defineLazy(inst._zod, "values", () => def.in._zod.values);
|
|
1731
|
+
util.defineLazy(inst._zod, "optin", () => def.in._zod.optin);
|
|
1732
|
+
util.defineLazy(inst._zod, "optout", () => def.out._zod.optout);
|
|
1733
|
+
util.defineLazy(inst._zod, "propValues", () => def.in._zod.propValues);
|
|
1734
|
+
inst._zod.parse = (payload, ctx) => {
|
|
1735
|
+
const direction = ctx.direction || "forward";
|
|
1736
|
+
if (direction === "forward") {
|
|
1737
|
+
const left = def.in._zod.run(payload, ctx);
|
|
1738
|
+
if (left instanceof Promise) {
|
|
1739
|
+
return left.then((left) => handleCodecAResult(left, def, ctx));
|
|
1740
|
+
}
|
|
1741
|
+
return handleCodecAResult(left, def, ctx);
|
|
1742
|
+
}
|
|
1743
|
+
else {
|
|
1744
|
+
const right = def.out._zod.run(payload, ctx);
|
|
1745
|
+
if (right instanceof Promise) {
|
|
1746
|
+
return right.then((right) => handleCodecAResult(right, def, ctx));
|
|
1747
|
+
}
|
|
1748
|
+
return handleCodecAResult(right, def, ctx);
|
|
1749
|
+
}
|
|
1750
|
+
};
|
|
1751
|
+
});
|
|
1752
|
+
function handleCodecAResult(result, def, ctx) {
|
|
1753
|
+
if (result.issues.length) {
|
|
1754
|
+
// prevent further checks
|
|
1755
|
+
result.aborted = true;
|
|
1756
|
+
return result;
|
|
1757
|
+
}
|
|
1758
|
+
const direction = ctx.direction || "forward";
|
|
1759
|
+
if (direction === "forward") {
|
|
1760
|
+
const transformed = def.transform(result.value, result);
|
|
1761
|
+
if (transformed instanceof Promise) {
|
|
1762
|
+
return transformed.then((value) => handleCodecTxResult(result, value, def.out, ctx));
|
|
1763
|
+
}
|
|
1764
|
+
return handleCodecTxResult(result, transformed, def.out, ctx);
|
|
1765
|
+
}
|
|
1766
|
+
else {
|
|
1767
|
+
const transformed = def.reverseTransform(result.value, result);
|
|
1768
|
+
if (transformed instanceof Promise) {
|
|
1769
|
+
return transformed.then((value) => handleCodecTxResult(result, value, def.in, ctx));
|
|
1770
|
+
}
|
|
1771
|
+
return handleCodecTxResult(result, transformed, def.in, ctx);
|
|
1772
|
+
}
|
|
1773
|
+
}
|
|
1774
|
+
function handleCodecTxResult(left, value, nextSchema, ctx) {
|
|
1775
|
+
// Check if transform added any issues
|
|
1776
|
+
if (left.issues.length) {
|
|
1777
|
+
left.aborted = true;
|
|
1778
|
+
return left;
|
|
1779
|
+
}
|
|
1780
|
+
return nextSchema._zod.run({ value, issues: left.issues }, ctx);
|
|
1633
1781
|
}
|
|
1634
1782
|
exports.$ZodReadonly = core.$constructor("$ZodReadonly", (inst, def) => {
|
|
1635
1783
|
exports.$ZodType.init(inst, def);
|
|
@@ -1638,6 +1786,9 @@ exports.$ZodReadonly = core.$constructor("$ZodReadonly", (inst, def) => {
|
|
|
1638
1786
|
util.defineLazy(inst._zod, "optin", () => def.innerType._zod.optin);
|
|
1639
1787
|
util.defineLazy(inst._zod, "optout", () => def.innerType._zod.optout);
|
|
1640
1788
|
inst._zod.parse = (payload, ctx) => {
|
|
1789
|
+
if (ctx.direction === "backward") {
|
|
1790
|
+
return def.innerType._zod.run(payload, ctx);
|
|
1791
|
+
}
|
|
1641
1792
|
const result = def.innerType._zod.run(payload, ctx);
|
|
1642
1793
|
if (result instanceof Promise) {
|
|
1643
1794
|
return result.then(handleReadonlyResult);
|
|
@@ -1653,7 +1804,8 @@ exports.$ZodTemplateLiteral = core.$constructor("$ZodTemplateLiteral", (inst, de
|
|
|
1653
1804
|
exports.$ZodType.init(inst, def);
|
|
1654
1805
|
const regexParts = [];
|
|
1655
1806
|
for (const part of def.parts) {
|
|
1656
|
-
if (part
|
|
1807
|
+
if (typeof part === "object" && part !== null) {
|
|
1808
|
+
// is Zod schema
|
|
1657
1809
|
if (!part._zod.pattern) {
|
|
1658
1810
|
// if (!source)
|
|
1659
1811
|
throw new Error(`Invalid template literal part, no pattern found: ${[...part._zod.traits].shift()}`);
|
|
@@ -1689,7 +1841,7 @@ exports.$ZodTemplateLiteral = core.$constructor("$ZodTemplateLiteral", (inst, de
|
|
|
1689
1841
|
input: payload.value,
|
|
1690
1842
|
inst,
|
|
1691
1843
|
code: "invalid_format",
|
|
1692
|
-
format: "template_literal",
|
|
1844
|
+
format: def.format ?? "template_literal",
|
|
1693
1845
|
pattern: inst._zod.pattern.source,
|
|
1694
1846
|
});
|
|
1695
1847
|
return payload;
|
|
@@ -1697,6 +1849,85 @@ exports.$ZodTemplateLiteral = core.$constructor("$ZodTemplateLiteral", (inst, de
|
|
|
1697
1849
|
return payload;
|
|
1698
1850
|
};
|
|
1699
1851
|
});
|
|
1852
|
+
exports.$ZodFunction = core.$constructor("$ZodFunction", (inst, def) => {
|
|
1853
|
+
exports.$ZodType.init(inst, def);
|
|
1854
|
+
inst._def = def;
|
|
1855
|
+
inst._zod.def = def;
|
|
1856
|
+
inst.implement = (func) => {
|
|
1857
|
+
if (typeof func !== "function") {
|
|
1858
|
+
throw new Error("implement() must be called with a function");
|
|
1859
|
+
}
|
|
1860
|
+
return function (...args) {
|
|
1861
|
+
const parsedArgs = inst._def.input ? (0, parse_js_1.parse)(inst._def.input, args) : args;
|
|
1862
|
+
const result = Reflect.apply(func, this, parsedArgs);
|
|
1863
|
+
if (inst._def.output) {
|
|
1864
|
+
return (0, parse_js_1.parse)(inst._def.output, result);
|
|
1865
|
+
}
|
|
1866
|
+
return result;
|
|
1867
|
+
};
|
|
1868
|
+
};
|
|
1869
|
+
inst.implementAsync = (func) => {
|
|
1870
|
+
if (typeof func !== "function") {
|
|
1871
|
+
throw new Error("implementAsync() must be called with a function");
|
|
1872
|
+
}
|
|
1873
|
+
return async function (...args) {
|
|
1874
|
+
const parsedArgs = inst._def.input ? await (0, parse_js_1.parseAsync)(inst._def.input, args) : args;
|
|
1875
|
+
const result = await Reflect.apply(func, this, parsedArgs);
|
|
1876
|
+
if (inst._def.output) {
|
|
1877
|
+
return await (0, parse_js_1.parseAsync)(inst._def.output, result);
|
|
1878
|
+
}
|
|
1879
|
+
return result;
|
|
1880
|
+
};
|
|
1881
|
+
};
|
|
1882
|
+
inst._zod.parse = (payload, _ctx) => {
|
|
1883
|
+
if (typeof payload.value !== "function") {
|
|
1884
|
+
payload.issues.push({
|
|
1885
|
+
code: "invalid_type",
|
|
1886
|
+
expected: "function",
|
|
1887
|
+
input: payload.value,
|
|
1888
|
+
inst,
|
|
1889
|
+
});
|
|
1890
|
+
return payload;
|
|
1891
|
+
}
|
|
1892
|
+
// Check if output is a promise type to determine if we should use async implementation
|
|
1893
|
+
const hasPromiseOutput = inst._def.output && inst._def.output._zod.def.type === "promise";
|
|
1894
|
+
if (hasPromiseOutput) {
|
|
1895
|
+
payload.value = inst.implementAsync(payload.value);
|
|
1896
|
+
}
|
|
1897
|
+
else {
|
|
1898
|
+
payload.value = inst.implement(payload.value);
|
|
1899
|
+
}
|
|
1900
|
+
return payload;
|
|
1901
|
+
};
|
|
1902
|
+
inst.input = (...args) => {
|
|
1903
|
+
const F = inst.constructor;
|
|
1904
|
+
if (Array.isArray(args[0])) {
|
|
1905
|
+
return new F({
|
|
1906
|
+
type: "function",
|
|
1907
|
+
input: new exports.$ZodTuple({
|
|
1908
|
+
type: "tuple",
|
|
1909
|
+
items: args[0],
|
|
1910
|
+
rest: args[1],
|
|
1911
|
+
}),
|
|
1912
|
+
output: inst._def.output,
|
|
1913
|
+
});
|
|
1914
|
+
}
|
|
1915
|
+
return new F({
|
|
1916
|
+
type: "function",
|
|
1917
|
+
input: args[0],
|
|
1918
|
+
output: inst._def.output,
|
|
1919
|
+
});
|
|
1920
|
+
};
|
|
1921
|
+
inst.output = (output) => {
|
|
1922
|
+
const F = inst.constructor;
|
|
1923
|
+
return new F({
|
|
1924
|
+
type: "function",
|
|
1925
|
+
input: inst._def.input,
|
|
1926
|
+
output,
|
|
1927
|
+
});
|
|
1928
|
+
};
|
|
1929
|
+
return inst;
|
|
1930
|
+
});
|
|
1700
1931
|
exports.$ZodPromise = core.$constructor("$ZodPromise", (inst, def) => {
|
|
1701
1932
|
exports.$ZodType.init(inst, def);
|
|
1702
1933
|
inst._zod.parse = (payload, ctx) => {
|
|
@@ -1705,11 +1936,18 @@ exports.$ZodPromise = core.$constructor("$ZodPromise", (inst, def) => {
|
|
|
1705
1936
|
});
|
|
1706
1937
|
exports.$ZodLazy = core.$constructor("$ZodLazy", (inst, def) => {
|
|
1707
1938
|
exports.$ZodType.init(inst, def);
|
|
1939
|
+
// let _innerType!: any;
|
|
1940
|
+
// util.defineLazy(def, "getter", () => {
|
|
1941
|
+
// if (!_innerType) {
|
|
1942
|
+
// _innerType = def.getter();
|
|
1943
|
+
// }
|
|
1944
|
+
// return () => _innerType;
|
|
1945
|
+
// });
|
|
1708
1946
|
util.defineLazy(inst._zod, "innerType", () => def.getter());
|
|
1709
1947
|
util.defineLazy(inst._zod, "pattern", () => inst._zod.innerType._zod.pattern);
|
|
1710
1948
|
util.defineLazy(inst._zod, "propValues", () => inst._zod.innerType._zod.propValues);
|
|
1711
|
-
util.defineLazy(inst._zod, "optin", () => inst._zod.innerType._zod.optin);
|
|
1712
|
-
util.defineLazy(inst._zod, "optout", () => inst._zod.innerType._zod.optout);
|
|
1949
|
+
util.defineLazy(inst._zod, "optin", () => inst._zod.innerType._zod.optin ?? undefined);
|
|
1950
|
+
util.defineLazy(inst._zod, "optout", () => inst._zod.innerType._zod.optout ?? undefined);
|
|
1713
1951
|
inst._zod.parse = (payload, ctx) => {
|
|
1714
1952
|
const inner = inst._zod.innerType;
|
|
1715
1953
|
return inner._zod.run(payload, ctx);
|