zod 3.13.4 → 3.14.2

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.
@@ -1,91 +1,8 @@
1
1
  "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
- return new (P || (P = Promise))(function (resolve, reject) {
16
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
- step((generator = generator.apply(thisArg, _arguments || [])).next());
20
- });
21
- };
22
- var __generator = (this && this.__generator) || function (thisArg, body) {
23
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
- function verb(n) { return function (v) { return step([n, v]); }; }
26
- function step(op) {
27
- if (f) throw new TypeError("Generator is already executing.");
28
- while (_) try {
29
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
- if (y = 0, t) op = [op[0] & 2, t.value];
31
- switch (op[0]) {
32
- case 0: case 1: t = op; break;
33
- case 4: _.label++; return { value: op[1], done: false };
34
- case 5: _.label++; y = op[1]; op = [0]; continue;
35
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
- default:
37
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
- if (t[2]) _.ops.pop();
42
- _.trys.pop(); continue;
43
- }
44
- op = body.call(thisArg, _);
45
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
- }
48
- };
49
- var __read = (this && this.__read) || function (o, n) {
50
- var m = typeof Symbol === "function" && o[Symbol.iterator];
51
- if (!m) return o;
52
- var i = m.call(o), r, ar = [], e;
53
- try {
54
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
55
- }
56
- catch (error) { e = { error: error }; }
57
- finally {
58
- try {
59
- if (r && !r.done && (m = i["return"])) m.call(i);
60
- }
61
- finally { if (e) throw e.error; }
62
- }
63
- return ar;
64
- };
65
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
66
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
67
- if (ar || !(i in from)) {
68
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
69
- ar[i] = from[i];
70
- }
71
- }
72
- return to.concat(ar || Array.prototype.slice.call(from));
73
- };
74
- var __values = (this && this.__values) || function(o) {
75
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
76
- if (m) return m.call(o);
77
- if (o && typeof o.length === "number") return {
78
- next: function () {
79
- if (o && i >= o.length) o = void 0;
80
- return { value: o && o[i++], done: !o };
81
- }
82
- };
83
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
84
- };
85
2
  Object.defineProperty(exports, "__esModule", { value: true });
86
3
  exports.isAsync = exports.isValid = exports.isDirty = exports.isAborted = exports.OK = exports.DIRTY = exports.INVALID = exports.ParseStatus = exports.addIssueToContext = exports.EMPTY_PATH = exports.makeIssue = exports.getParsedType = exports.ZodParsedType = void 0;
87
- var ZodError_1 = require("../ZodError");
88
- var util_1 = require("./util");
4
+ const ZodError_1 = require("../ZodError");
5
+ const util_1 = require("./util");
89
6
  exports.ZodParsedType = util_1.util.arrayToEnum([
90
7
  "string",
91
8
  "nan",
@@ -108,229 +25,152 @@ exports.ZodParsedType = util_1.util.arrayToEnum([
108
25
  "map",
109
26
  "set",
110
27
  ]);
111
- function cacheAndReturn(data, parsedType, cache) {
112
- if (cache)
113
- cache.set(data, parsedType);
114
- return parsedType;
115
- }
116
- var getParsedType = function (data, cache) {
117
- if (cache && cache.has(data))
118
- return cache.get(data);
119
- var t = typeof data;
28
+ const getParsedType = (data) => {
29
+ const t = typeof data;
120
30
  switch (t) {
121
31
  case "undefined":
122
- return cacheAndReturn(data, exports.ZodParsedType.undefined, cache);
32
+ return exports.ZodParsedType.undefined;
123
33
  case "string":
124
- return cacheAndReturn(data, exports.ZodParsedType.string, cache);
34
+ return exports.ZodParsedType.string;
125
35
  case "number":
126
- return cacheAndReturn(data, isNaN(data) ? exports.ZodParsedType.nan : exports.ZodParsedType.number, cache);
36
+ return isNaN(data) ? exports.ZodParsedType.nan : exports.ZodParsedType.number;
127
37
  case "boolean":
128
- return cacheAndReturn(data, exports.ZodParsedType.boolean, cache);
38
+ return exports.ZodParsedType.boolean;
129
39
  case "function":
130
- return cacheAndReturn(data, exports.ZodParsedType.function, cache);
40
+ return exports.ZodParsedType.function;
131
41
  case "bigint":
132
- return cacheAndReturn(data, exports.ZodParsedType.bigint, cache);
42
+ return exports.ZodParsedType.bigint;
133
43
  case "object":
134
44
  if (Array.isArray(data)) {
135
- return cacheAndReturn(data, exports.ZodParsedType.array, cache);
45
+ return exports.ZodParsedType.array;
136
46
  }
137
47
  if (data === null) {
138
- return cacheAndReturn(data, exports.ZodParsedType.null, cache);
48
+ return exports.ZodParsedType.null;
139
49
  }
140
50
  if (data.then &&
141
51
  typeof data.then === "function" &&
142
52
  data.catch &&
143
53
  typeof data.catch === "function") {
144
- return cacheAndReturn(data, exports.ZodParsedType.promise, cache);
54
+ return exports.ZodParsedType.promise;
145
55
  }
146
56
  if (typeof Map !== "undefined" && data instanceof Map) {
147
- return cacheAndReturn(data, exports.ZodParsedType.map, cache);
57
+ return exports.ZodParsedType.map;
148
58
  }
149
59
  if (typeof Set !== "undefined" && data instanceof Set) {
150
- return cacheAndReturn(data, exports.ZodParsedType.set, cache);
60
+ return exports.ZodParsedType.set;
151
61
  }
152
62
  if (typeof Date !== "undefined" && data instanceof Date) {
153
- return cacheAndReturn(data, exports.ZodParsedType.date, cache);
63
+ return exports.ZodParsedType.date;
154
64
  }
155
- return cacheAndReturn(data, exports.ZodParsedType.object, cache);
65
+ return exports.ZodParsedType.object;
156
66
  default:
157
- return cacheAndReturn(data, exports.ZodParsedType.unknown, cache);
67
+ return exports.ZodParsedType.unknown;
158
68
  }
159
69
  };
160
70
  exports.getParsedType = getParsedType;
161
- var makeIssue = function (params) {
162
- var e_1, _a;
163
- var data = params.data, path = params.path, errorMaps = params.errorMaps, issueData = params.issueData;
164
- var fullPath = __spreadArray(__spreadArray([], __read(path), false), __read((issueData.path || [])), false);
165
- var fullIssue = __assign(__assign({}, issueData), { path: fullPath });
166
- var errorMessage = "";
167
- var maps = errorMaps
168
- .filter(function (m) { return !!m; })
71
+ const makeIssue = (params) => {
72
+ const { data, path, errorMaps, issueData } = params;
73
+ const fullPath = [...path, ...(issueData.path || [])];
74
+ const fullIssue = {
75
+ ...issueData,
76
+ path: fullPath,
77
+ };
78
+ let errorMessage = "";
79
+ const maps = errorMaps
80
+ .filter((m) => !!m)
169
81
  .slice()
170
82
  .reverse();
171
- try {
172
- for (var maps_1 = __values(maps), maps_1_1 = maps_1.next(); !maps_1_1.done; maps_1_1 = maps_1.next()) {
173
- var map = maps_1_1.value;
174
- errorMessage = map(fullIssue, { data: data, defaultError: errorMessage }).message;
175
- }
83
+ for (const map of maps) {
84
+ errorMessage = map(fullIssue, { data, defaultError: errorMessage }).message;
176
85
  }
177
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
178
- finally {
179
- try {
180
- if (maps_1_1 && !maps_1_1.done && (_a = maps_1.return)) _a.call(maps_1);
181
- }
182
- finally { if (e_1) throw e_1.error; }
183
- }
184
- return __assign(__assign({}, issueData), { path: fullPath, message: issueData.message || errorMessage });
86
+ return {
87
+ ...issueData,
88
+ path: fullPath,
89
+ message: issueData.message || errorMessage,
90
+ };
185
91
  };
186
92
  exports.makeIssue = makeIssue;
187
93
  exports.EMPTY_PATH = [];
188
94
  function addIssueToContext(ctx, issueData) {
189
- var issue = (0, exports.makeIssue)({
95
+ const issue = (0, exports.makeIssue)({
190
96
  issueData: issueData,
191
97
  data: ctx.data,
192
98
  path: ctx.path,
193
99
  errorMaps: [
194
- ctx.contextualErrorMap,
100
+ ctx.common.contextualErrorMap,
195
101
  ctx.schemaErrorMap,
196
102
  ZodError_1.overrideErrorMap,
197
103
  ZodError_1.defaultErrorMap, // then global default map
198
- ].filter(function (x) { return !!x; }),
104
+ ].filter((x) => !!x),
199
105
  });
200
- ctx.issues.push(issue);
106
+ ctx.common.issues.push(issue);
201
107
  }
202
108
  exports.addIssueToContext = addIssueToContext;
203
- var ParseStatus = /** @class */ (function () {
204
- function ParseStatus() {
109
+ class ParseStatus {
110
+ constructor() {
205
111
  this.value = "valid";
206
112
  }
207
- ParseStatus.prototype.dirty = function () {
113
+ dirty() {
208
114
  if (this.value === "valid")
209
115
  this.value = "dirty";
210
- };
211
- ParseStatus.prototype.abort = function () {
116
+ }
117
+ abort() {
212
118
  if (this.value !== "aborted")
213
119
  this.value = "aborted";
214
- };
215
- ParseStatus.mergeArray = function (status, results) {
216
- var e_2, _a;
217
- var arrayValue = [];
218
- try {
219
- for (var results_1 = __values(results), results_1_1 = results_1.next(); !results_1_1.done; results_1_1 = results_1.next()) {
220
- var s = results_1_1.value;
221
- if (s.status === "aborted")
222
- return exports.INVALID;
223
- if (s.status === "dirty")
224
- status.dirty();
225
- arrayValue.push(s.value);
226
- }
227
- }
228
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
229
- finally {
230
- try {
231
- if (results_1_1 && !results_1_1.done && (_a = results_1.return)) _a.call(results_1);
232
- }
233
- finally { if (e_2) throw e_2.error; }
120
+ }
121
+ static mergeArray(status, results) {
122
+ const arrayValue = [];
123
+ for (const s of results) {
124
+ if (s.status === "aborted")
125
+ return exports.INVALID;
126
+ if (s.status === "dirty")
127
+ status.dirty();
128
+ arrayValue.push(s.value);
234
129
  }
235
130
  return { status: status.value, value: arrayValue };
236
- };
237
- ParseStatus.mergeObjectAsync = function (status, pairs) {
238
- return __awaiter(this, void 0, void 0, function () {
239
- var syncPairs, pairs_1, pairs_1_1, pair, _a, _b, e_3_1;
240
- var e_3, _c, _d;
241
- return __generator(this, function (_e) {
242
- switch (_e.label) {
243
- case 0:
244
- syncPairs = [];
245
- _e.label = 1;
246
- case 1:
247
- _e.trys.push([1, 7, 8, 9]);
248
- pairs_1 = __values(pairs), pairs_1_1 = pairs_1.next();
249
- _e.label = 2;
250
- case 2:
251
- if (!!pairs_1_1.done) return [3 /*break*/, 6];
252
- pair = pairs_1_1.value;
253
- _b = (_a = syncPairs).push;
254
- _d = {};
255
- return [4 /*yield*/, pair.key];
256
- case 3:
257
- _d.key = _e.sent();
258
- return [4 /*yield*/, pair.value];
259
- case 4:
260
- _b.apply(_a, [(_d.value = _e.sent(),
261
- _d)]);
262
- _e.label = 5;
263
- case 5:
264
- pairs_1_1 = pairs_1.next();
265
- return [3 /*break*/, 2];
266
- case 6: return [3 /*break*/, 9];
267
- case 7:
268
- e_3_1 = _e.sent();
269
- e_3 = { error: e_3_1 };
270
- return [3 /*break*/, 9];
271
- case 8:
272
- try {
273
- if (pairs_1_1 && !pairs_1_1.done && (_c = pairs_1.return)) _c.call(pairs_1);
274
- }
275
- finally { if (e_3) throw e_3.error; }
276
- return [7 /*endfinally*/];
277
- case 9: return [2 /*return*/, ParseStatus.mergeObjectSync(status, syncPairs)];
278
- }
131
+ }
132
+ static async mergeObjectAsync(status, pairs) {
133
+ const syncPairs = [];
134
+ for (const pair of pairs) {
135
+ syncPairs.push({
136
+ key: await pair.key,
137
+ value: await pair.value,
279
138
  });
280
- });
281
- };
282
- ParseStatus.mergeObjectSync = function (status, pairs) {
283
- var e_4, _a;
284
- var finalObject = {};
285
- try {
286
- for (var pairs_2 = __values(pairs), pairs_2_1 = pairs_2.next(); !pairs_2_1.done; pairs_2_1 = pairs_2.next()) {
287
- var pair = pairs_2_1.value;
288
- var key = pair.key, value = pair.value;
289
- if (key.status === "aborted")
290
- return exports.INVALID;
291
- if (value.status === "aborted")
292
- return exports.INVALID;
293
- if (key.status === "dirty")
294
- status.dirty();
295
- if (value.status === "dirty")
296
- status.dirty();
297
- if (typeof value.value !== "undefined" || pair.alwaysSet) {
298
- finalObject[key.value] = value.value;
299
- }
300
- }
301
139
  }
302
- catch (e_4_1) { e_4 = { error: e_4_1 }; }
303
- finally {
304
- try {
305
- if (pairs_2_1 && !pairs_2_1.done && (_a = pairs_2.return)) _a.call(pairs_2);
140
+ return ParseStatus.mergeObjectSync(status, syncPairs);
141
+ }
142
+ static mergeObjectSync(status, pairs) {
143
+ const finalObject = {};
144
+ for (const pair of pairs) {
145
+ const { key, value } = pair;
146
+ if (key.status === "aborted")
147
+ return exports.INVALID;
148
+ if (value.status === "aborted")
149
+ return exports.INVALID;
150
+ if (key.status === "dirty")
151
+ status.dirty();
152
+ if (value.status === "dirty")
153
+ status.dirty();
154
+ if (typeof value.value !== "undefined" || pair.alwaysSet) {
155
+ finalObject[key.value] = value.value;
306
156
  }
307
- finally { if (e_4) throw e_4.error; }
308
157
  }
309
158
  return { status: status.value, value: finalObject };
310
- };
311
- return ParseStatus;
312
- }());
159
+ }
160
+ }
313
161
  exports.ParseStatus = ParseStatus;
314
162
  exports.INVALID = Object.freeze({
315
163
  status: "aborted",
316
164
  });
317
- var DIRTY = function (value) { return ({ status: "dirty", value: value }); };
165
+ const DIRTY = (value) => ({ status: "dirty", value });
318
166
  exports.DIRTY = DIRTY;
319
- var OK = function (value) { return ({ status: "valid", value: value }); };
167
+ const OK = (value) => ({ status: "valid", value });
320
168
  exports.OK = OK;
321
- var isAborted = function (x) {
322
- return x.status === "aborted";
323
- };
169
+ const isAborted = (x) => x.status === "aborted";
324
170
  exports.isAborted = isAborted;
325
- var isDirty = function (x) {
326
- return x.status === "dirty";
327
- };
171
+ const isDirty = (x) => x.status === "dirty";
328
172
  exports.isDirty = isDirty;
329
- var isValid = function (x) {
330
- return x.status === "valid";
331
- };
173
+ const isValid = (x) => x.status === "valid";
332
174
  exports.isValid = isValid;
333
- var isAsync = function (x) {
334
- return typeof Promise !== undefined && x instanceof Promise;
335
- };
175
+ const isAsync = (x) => typeof Promise !== undefined && x instanceof Promise;
336
176
  exports.isAsync = isAsync;
@@ -1,15 +1,4 @@
1
1
  "use strict";
2
- var __values = (this && this.__values) || function(o) {
3
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
4
- if (m) return m.call(o);
5
- if (o && typeof o.length === "number") return {
6
- next: function () {
7
- if (o && i >= o.length) o = void 0;
8
- return { value: o && o[i++], done: !o };
9
- }
10
- };
11
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
12
- };
13
2
  Object.defineProperty(exports, "__esModule", { value: true });
14
3
  exports.util = void 0;
15
4
  var util;
@@ -18,80 +7,45 @@ var util;
18
7
  throw new Error();
19
8
  }
20
9
  util.assertNever = assertNever;
21
- util.arrayToEnum = function (items) {
22
- var e_1, _a;
23
- var obj = {};
24
- try {
25
- for (var items_1 = __values(items), items_1_1 = items_1.next(); !items_1_1.done; items_1_1 = items_1.next()) {
26
- var item = items_1_1.value;
27
- obj[item] = item;
28
- }
29
- }
30
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
31
- finally {
32
- try {
33
- if (items_1_1 && !items_1_1.done && (_a = items_1.return)) _a.call(items_1);
34
- }
35
- finally { if (e_1) throw e_1.error; }
10
+ util.arrayToEnum = (items) => {
11
+ const obj = {};
12
+ for (const item of items) {
13
+ obj[item] = item;
36
14
  }
37
15
  return obj;
38
16
  };
39
- util.getValidEnumValues = function (obj) {
40
- var e_2, _a;
41
- var validKeys = util.objectKeys(obj).filter(function (k) { return typeof obj[obj[k]] !== "number"; });
42
- var filtered = {};
43
- try {
44
- for (var validKeys_1 = __values(validKeys), validKeys_1_1 = validKeys_1.next(); !validKeys_1_1.done; validKeys_1_1 = validKeys_1.next()) {
45
- var k = validKeys_1_1.value;
46
- filtered[k] = obj[k];
47
- }
48
- }
49
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
50
- finally {
51
- try {
52
- if (validKeys_1_1 && !validKeys_1_1.done && (_a = validKeys_1.return)) _a.call(validKeys_1);
53
- }
54
- finally { if (e_2) throw e_2.error; }
17
+ util.getValidEnumValues = (obj) => {
18
+ const validKeys = util.objectKeys(obj).filter((k) => typeof obj[obj[k]] !== "number");
19
+ const filtered = {};
20
+ for (const k of validKeys) {
21
+ filtered[k] = obj[k];
55
22
  }
56
23
  return util.objectValues(filtered);
57
24
  };
58
- util.objectValues = function (obj) {
25
+ util.objectValues = (obj) => {
59
26
  return util.objectKeys(obj).map(function (e) {
60
27
  return obj[e];
61
28
  });
62
29
  };
63
30
  util.objectKeys = typeof Object.keys === "function" // eslint-disable-line ban/ban
64
- ? function (obj) { return Object.keys(obj); } // eslint-disable-line ban/ban
65
- : function (object) {
66
- var keys = [];
67
- for (var key in object) {
31
+ ? (obj) => Object.keys(obj) // eslint-disable-line ban/ban
32
+ : (object) => {
33
+ const keys = [];
34
+ for (const key in object) {
68
35
  if (Object.prototype.hasOwnProperty.call(object, key)) {
69
36
  keys.push(key);
70
37
  }
71
38
  }
72
39
  return keys;
73
40
  };
74
- util.find = function (arr, checker) {
75
- var e_3, _a;
76
- try {
77
- for (var arr_1 = __values(arr), arr_1_1 = arr_1.next(); !arr_1_1.done; arr_1_1 = arr_1.next()) {
78
- var item = arr_1_1.value;
79
- if (checker(item))
80
- return item;
81
- }
82
- }
83
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
84
- finally {
85
- try {
86
- if (arr_1_1 && !arr_1_1.done && (_a = arr_1.return)) _a.call(arr_1);
87
- }
88
- finally { if (e_3) throw e_3.error; }
41
+ util.find = (arr, checker) => {
42
+ for (const item of arr) {
43
+ if (checker(item))
44
+ return item;
89
45
  }
90
46
  return undefined;
91
47
  };
92
48
  util.isInteger = typeof Number.isInteger === "function"
93
- ? function (val) { return Number.isInteger(val); } // eslint-disable-line ban/ban
94
- : function (val) {
95
- return typeof val === "number" && isFinite(val) && Math.floor(val) === val;
96
- };
49
+ ? (val) => Number.isInteger(val) // eslint-disable-line ban/ban
50
+ : (val) => typeof val === "number" && isFinite(val) && Math.floor(val) === val;
97
51
  })(util = exports.util || (exports.util = {}));
package/lib/index.js CHANGED
@@ -27,7 +27,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.z = void 0;
30
- var mod = __importStar(require("./external"));
30
+ const mod = __importStar(require("./external"));
31
31
  exports.z = mod;
32
32
  __exportStar(require("./external"), exports);
33
33
  exports.default = mod;