api.cjs 31 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222
  1. "use strict";
  2. var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
  3. if (k2 === undefined) k2 = k;
  4. var desc = Object.getOwnPropertyDescriptor(m, k);
  5. if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
  6. desc = { enumerable: true, get: function() { return m[k]; } };
  7. }
  8. Object.defineProperty(o, k2, desc);
  9. }) : (function(o, m, k, k2) {
  10. if (k2 === undefined) k2 = k;
  11. o[k2] = m[k];
  12. }));
  13. var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
  14. Object.defineProperty(o, "default", { enumerable: true, value: v });
  15. }) : function(o, v) {
  16. o["default"] = v;
  17. });
  18. var __importStar = (this && this.__importStar) || function (mod) {
  19. if (mod && mod.__esModule) return mod;
  20. var result = {};
  21. if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
  22. __setModuleDefault(result, mod);
  23. return result;
  24. };
  25. Object.defineProperty(exports, "__esModule", { value: true });
  26. exports.TimePrecision = void 0;
  27. exports._string = _string;
  28. exports._coercedString = _coercedString;
  29. exports._email = _email;
  30. exports._guid = _guid;
  31. exports._uuid = _uuid;
  32. exports._uuidv4 = _uuidv4;
  33. exports._uuidv6 = _uuidv6;
  34. exports._uuidv7 = _uuidv7;
  35. exports._url = _url;
  36. exports._emoji = _emoji;
  37. exports._nanoid = _nanoid;
  38. exports._cuid = _cuid;
  39. exports._cuid2 = _cuid2;
  40. exports._ulid = _ulid;
  41. exports._xid = _xid;
  42. exports._ksuid = _ksuid;
  43. exports._ipv4 = _ipv4;
  44. exports._ipv6 = _ipv6;
  45. exports._mac = _mac;
  46. exports._cidrv4 = _cidrv4;
  47. exports._cidrv6 = _cidrv6;
  48. exports._base64 = _base64;
  49. exports._base64url = _base64url;
  50. exports._e164 = _e164;
  51. exports._jwt = _jwt;
  52. exports._isoDateTime = _isoDateTime;
  53. exports._isoDate = _isoDate;
  54. exports._isoTime = _isoTime;
  55. exports._isoDuration = _isoDuration;
  56. exports._number = _number;
  57. exports._coercedNumber = _coercedNumber;
  58. exports._int = _int;
  59. exports._float32 = _float32;
  60. exports._float64 = _float64;
  61. exports._int32 = _int32;
  62. exports._uint32 = _uint32;
  63. exports._boolean = _boolean;
  64. exports._coercedBoolean = _coercedBoolean;
  65. exports._bigint = _bigint;
  66. exports._coercedBigint = _coercedBigint;
  67. exports._int64 = _int64;
  68. exports._uint64 = _uint64;
  69. exports._symbol = _symbol;
  70. exports._undefined = _undefined;
  71. exports._null = _null;
  72. exports._any = _any;
  73. exports._unknown = _unknown;
  74. exports._never = _never;
  75. exports._void = _void;
  76. exports._date = _date;
  77. exports._coercedDate = _coercedDate;
  78. exports._nan = _nan;
  79. exports._lt = _lt;
  80. exports._lte = _lte;
  81. exports._max = _lte;
  82. exports._lte = _lte;
  83. exports._max = _lte;
  84. exports._gt = _gt;
  85. exports._gte = _gte;
  86. exports._min = _gte;
  87. exports._gte = _gte;
  88. exports._min = _gte;
  89. exports._positive = _positive;
  90. exports._negative = _negative;
  91. exports._nonpositive = _nonpositive;
  92. exports._nonnegative = _nonnegative;
  93. exports._multipleOf = _multipleOf;
  94. exports._maxSize = _maxSize;
  95. exports._minSize = _minSize;
  96. exports._size = _size;
  97. exports._maxLength = _maxLength;
  98. exports._minLength = _minLength;
  99. exports._length = _length;
  100. exports._regex = _regex;
  101. exports._lowercase = _lowercase;
  102. exports._uppercase = _uppercase;
  103. exports._includes = _includes;
  104. exports._startsWith = _startsWith;
  105. exports._endsWith = _endsWith;
  106. exports._property = _property;
  107. exports._mime = _mime;
  108. exports._overwrite = _overwrite;
  109. exports._normalize = _normalize;
  110. exports._trim = _trim;
  111. exports._toLowerCase = _toLowerCase;
  112. exports._toUpperCase = _toUpperCase;
  113. exports._slugify = _slugify;
  114. exports._array = _array;
  115. exports._union = _union;
  116. exports._xor = _xor;
  117. exports._discriminatedUnion = _discriminatedUnion;
  118. exports._intersection = _intersection;
  119. exports._tuple = _tuple;
  120. exports._record = _record;
  121. exports._map = _map;
  122. exports._set = _set;
  123. exports._enum = _enum;
  124. exports._nativeEnum = _nativeEnum;
  125. exports._literal = _literal;
  126. exports._file = _file;
  127. exports._transform = _transform;
  128. exports._optional = _optional;
  129. exports._nullable = _nullable;
  130. exports._default = _default;
  131. exports._nonoptional = _nonoptional;
  132. exports._success = _success;
  133. exports._catch = _catch;
  134. exports._pipe = _pipe;
  135. exports._readonly = _readonly;
  136. exports._templateLiteral = _templateLiteral;
  137. exports._lazy = _lazy;
  138. exports._promise = _promise;
  139. exports._custom = _custom;
  140. exports._refine = _refine;
  141. exports._superRefine = _superRefine;
  142. exports._check = _check;
  143. exports.describe = describe;
  144. exports.meta = meta;
  145. exports._stringbool = _stringbool;
  146. exports._stringFormat = _stringFormat;
  147. const checks = __importStar(require("./checks.cjs"));
  148. const registries = __importStar(require("./registries.cjs"));
  149. const schemas = __importStar(require("./schemas.cjs"));
  150. const util = __importStar(require("./util.cjs"));
  151. // @__NO_SIDE_EFFECTS__
  152. function _string(Class, params) {
  153. return new Class({
  154. type: "string",
  155. ...util.normalizeParams(params),
  156. });
  157. }
  158. // @__NO_SIDE_EFFECTS__
  159. function _coercedString(Class, params) {
  160. return new Class({
  161. type: "string",
  162. coerce: true,
  163. ...util.normalizeParams(params),
  164. });
  165. }
  166. // @__NO_SIDE_EFFECTS__
  167. function _email(Class, params) {
  168. return new Class({
  169. type: "string",
  170. format: "email",
  171. check: "string_format",
  172. abort: false,
  173. ...util.normalizeParams(params),
  174. });
  175. }
  176. // @__NO_SIDE_EFFECTS__
  177. function _guid(Class, params) {
  178. return new Class({
  179. type: "string",
  180. format: "guid",
  181. check: "string_format",
  182. abort: false,
  183. ...util.normalizeParams(params),
  184. });
  185. }
  186. // @__NO_SIDE_EFFECTS__
  187. function _uuid(Class, params) {
  188. return new Class({
  189. type: "string",
  190. format: "uuid",
  191. check: "string_format",
  192. abort: false,
  193. ...util.normalizeParams(params),
  194. });
  195. }
  196. // @__NO_SIDE_EFFECTS__
  197. function _uuidv4(Class, params) {
  198. return new Class({
  199. type: "string",
  200. format: "uuid",
  201. check: "string_format",
  202. abort: false,
  203. version: "v4",
  204. ...util.normalizeParams(params),
  205. });
  206. }
  207. // @__NO_SIDE_EFFECTS__
  208. function _uuidv6(Class, params) {
  209. return new Class({
  210. type: "string",
  211. format: "uuid",
  212. check: "string_format",
  213. abort: false,
  214. version: "v6",
  215. ...util.normalizeParams(params),
  216. });
  217. }
  218. // @__NO_SIDE_EFFECTS__
  219. function _uuidv7(Class, params) {
  220. return new Class({
  221. type: "string",
  222. format: "uuid",
  223. check: "string_format",
  224. abort: false,
  225. version: "v7",
  226. ...util.normalizeParams(params),
  227. });
  228. }
  229. // @__NO_SIDE_EFFECTS__
  230. function _url(Class, params) {
  231. return new Class({
  232. type: "string",
  233. format: "url",
  234. check: "string_format",
  235. abort: false,
  236. ...util.normalizeParams(params),
  237. });
  238. }
  239. // @__NO_SIDE_EFFECTS__
  240. function _emoji(Class, params) {
  241. return new Class({
  242. type: "string",
  243. format: "emoji",
  244. check: "string_format",
  245. abort: false,
  246. ...util.normalizeParams(params),
  247. });
  248. }
  249. // @__NO_SIDE_EFFECTS__
  250. function _nanoid(Class, params) {
  251. return new Class({
  252. type: "string",
  253. format: "nanoid",
  254. check: "string_format",
  255. abort: false,
  256. ...util.normalizeParams(params),
  257. });
  258. }
  259. // @__NO_SIDE_EFFECTS__
  260. function _cuid(Class, params) {
  261. return new Class({
  262. type: "string",
  263. format: "cuid",
  264. check: "string_format",
  265. abort: false,
  266. ...util.normalizeParams(params),
  267. });
  268. }
  269. // @__NO_SIDE_EFFECTS__
  270. function _cuid2(Class, params) {
  271. return new Class({
  272. type: "string",
  273. format: "cuid2",
  274. check: "string_format",
  275. abort: false,
  276. ...util.normalizeParams(params),
  277. });
  278. }
  279. // @__NO_SIDE_EFFECTS__
  280. function _ulid(Class, params) {
  281. return new Class({
  282. type: "string",
  283. format: "ulid",
  284. check: "string_format",
  285. abort: false,
  286. ...util.normalizeParams(params),
  287. });
  288. }
  289. // @__NO_SIDE_EFFECTS__
  290. function _xid(Class, params) {
  291. return new Class({
  292. type: "string",
  293. format: "xid",
  294. check: "string_format",
  295. abort: false,
  296. ...util.normalizeParams(params),
  297. });
  298. }
  299. // @__NO_SIDE_EFFECTS__
  300. function _ksuid(Class, params) {
  301. return new Class({
  302. type: "string",
  303. format: "ksuid",
  304. check: "string_format",
  305. abort: false,
  306. ...util.normalizeParams(params),
  307. });
  308. }
  309. // @__NO_SIDE_EFFECTS__
  310. function _ipv4(Class, params) {
  311. return new Class({
  312. type: "string",
  313. format: "ipv4",
  314. check: "string_format",
  315. abort: false,
  316. ...util.normalizeParams(params),
  317. });
  318. }
  319. // @__NO_SIDE_EFFECTS__
  320. function _ipv6(Class, params) {
  321. return new Class({
  322. type: "string",
  323. format: "ipv6",
  324. check: "string_format",
  325. abort: false,
  326. ...util.normalizeParams(params),
  327. });
  328. }
  329. // @__NO_SIDE_EFFECTS__
  330. function _mac(Class, params) {
  331. return new Class({
  332. type: "string",
  333. format: "mac",
  334. check: "string_format",
  335. abort: false,
  336. ...util.normalizeParams(params),
  337. });
  338. }
  339. // @__NO_SIDE_EFFECTS__
  340. function _cidrv4(Class, params) {
  341. return new Class({
  342. type: "string",
  343. format: "cidrv4",
  344. check: "string_format",
  345. abort: false,
  346. ...util.normalizeParams(params),
  347. });
  348. }
  349. // @__NO_SIDE_EFFECTS__
  350. function _cidrv6(Class, params) {
  351. return new Class({
  352. type: "string",
  353. format: "cidrv6",
  354. check: "string_format",
  355. abort: false,
  356. ...util.normalizeParams(params),
  357. });
  358. }
  359. // @__NO_SIDE_EFFECTS__
  360. function _base64(Class, params) {
  361. return new Class({
  362. type: "string",
  363. format: "base64",
  364. check: "string_format",
  365. abort: false,
  366. ...util.normalizeParams(params),
  367. });
  368. }
  369. // @__NO_SIDE_EFFECTS__
  370. function _base64url(Class, params) {
  371. return new Class({
  372. type: "string",
  373. format: "base64url",
  374. check: "string_format",
  375. abort: false,
  376. ...util.normalizeParams(params),
  377. });
  378. }
  379. // @__NO_SIDE_EFFECTS__
  380. function _e164(Class, params) {
  381. return new Class({
  382. type: "string",
  383. format: "e164",
  384. check: "string_format",
  385. abort: false,
  386. ...util.normalizeParams(params),
  387. });
  388. }
  389. // @__NO_SIDE_EFFECTS__
  390. function _jwt(Class, params) {
  391. return new Class({
  392. type: "string",
  393. format: "jwt",
  394. check: "string_format",
  395. abort: false,
  396. ...util.normalizeParams(params),
  397. });
  398. }
  399. exports.TimePrecision = {
  400. Any: null,
  401. Minute: -1,
  402. Second: 0,
  403. Millisecond: 3,
  404. Microsecond: 6,
  405. };
  406. // @__NO_SIDE_EFFECTS__
  407. function _isoDateTime(Class, params) {
  408. return new Class({
  409. type: "string",
  410. format: "datetime",
  411. check: "string_format",
  412. offset: false,
  413. local: false,
  414. precision: null,
  415. ...util.normalizeParams(params),
  416. });
  417. }
  418. // @__NO_SIDE_EFFECTS__
  419. function _isoDate(Class, params) {
  420. return new Class({
  421. type: "string",
  422. format: "date",
  423. check: "string_format",
  424. ...util.normalizeParams(params),
  425. });
  426. }
  427. // @__NO_SIDE_EFFECTS__
  428. function _isoTime(Class, params) {
  429. return new Class({
  430. type: "string",
  431. format: "time",
  432. check: "string_format",
  433. precision: null,
  434. ...util.normalizeParams(params),
  435. });
  436. }
  437. // @__NO_SIDE_EFFECTS__
  438. function _isoDuration(Class, params) {
  439. return new Class({
  440. type: "string",
  441. format: "duration",
  442. check: "string_format",
  443. ...util.normalizeParams(params),
  444. });
  445. }
  446. // @__NO_SIDE_EFFECTS__
  447. function _number(Class, params) {
  448. return new Class({
  449. type: "number",
  450. checks: [],
  451. ...util.normalizeParams(params),
  452. });
  453. }
  454. // @__NO_SIDE_EFFECTS__
  455. function _coercedNumber(Class, params) {
  456. return new Class({
  457. type: "number",
  458. coerce: true,
  459. checks: [],
  460. ...util.normalizeParams(params),
  461. });
  462. }
  463. // @__NO_SIDE_EFFECTS__
  464. function _int(Class, params) {
  465. return new Class({
  466. type: "number",
  467. check: "number_format",
  468. abort: false,
  469. format: "safeint",
  470. ...util.normalizeParams(params),
  471. });
  472. }
  473. // @__NO_SIDE_EFFECTS__
  474. function _float32(Class, params) {
  475. return new Class({
  476. type: "number",
  477. check: "number_format",
  478. abort: false,
  479. format: "float32",
  480. ...util.normalizeParams(params),
  481. });
  482. }
  483. // @__NO_SIDE_EFFECTS__
  484. function _float64(Class, params) {
  485. return new Class({
  486. type: "number",
  487. check: "number_format",
  488. abort: false,
  489. format: "float64",
  490. ...util.normalizeParams(params),
  491. });
  492. }
  493. // @__NO_SIDE_EFFECTS__
  494. function _int32(Class, params) {
  495. return new Class({
  496. type: "number",
  497. check: "number_format",
  498. abort: false,
  499. format: "int32",
  500. ...util.normalizeParams(params),
  501. });
  502. }
  503. // @__NO_SIDE_EFFECTS__
  504. function _uint32(Class, params) {
  505. return new Class({
  506. type: "number",
  507. check: "number_format",
  508. abort: false,
  509. format: "uint32",
  510. ...util.normalizeParams(params),
  511. });
  512. }
  513. // @__NO_SIDE_EFFECTS__
  514. function _boolean(Class, params) {
  515. return new Class({
  516. type: "boolean",
  517. ...util.normalizeParams(params),
  518. });
  519. }
  520. // @__NO_SIDE_EFFECTS__
  521. function _coercedBoolean(Class, params) {
  522. return new Class({
  523. type: "boolean",
  524. coerce: true,
  525. ...util.normalizeParams(params),
  526. });
  527. }
  528. // @__NO_SIDE_EFFECTS__
  529. function _bigint(Class, params) {
  530. return new Class({
  531. type: "bigint",
  532. ...util.normalizeParams(params),
  533. });
  534. }
  535. // @__NO_SIDE_EFFECTS__
  536. function _coercedBigint(Class, params) {
  537. return new Class({
  538. type: "bigint",
  539. coerce: true,
  540. ...util.normalizeParams(params),
  541. });
  542. }
  543. // @__NO_SIDE_EFFECTS__
  544. function _int64(Class, params) {
  545. return new Class({
  546. type: "bigint",
  547. check: "bigint_format",
  548. abort: false,
  549. format: "int64",
  550. ...util.normalizeParams(params),
  551. });
  552. }
  553. // @__NO_SIDE_EFFECTS__
  554. function _uint64(Class, params) {
  555. return new Class({
  556. type: "bigint",
  557. check: "bigint_format",
  558. abort: false,
  559. format: "uint64",
  560. ...util.normalizeParams(params),
  561. });
  562. }
  563. // @__NO_SIDE_EFFECTS__
  564. function _symbol(Class, params) {
  565. return new Class({
  566. type: "symbol",
  567. ...util.normalizeParams(params),
  568. });
  569. }
  570. // @__NO_SIDE_EFFECTS__
  571. function _undefined(Class, params) {
  572. return new Class({
  573. type: "undefined",
  574. ...util.normalizeParams(params),
  575. });
  576. }
  577. // @__NO_SIDE_EFFECTS__
  578. function _null(Class, params) {
  579. return new Class({
  580. type: "null",
  581. ...util.normalizeParams(params),
  582. });
  583. }
  584. // @__NO_SIDE_EFFECTS__
  585. function _any(Class) {
  586. return new Class({
  587. type: "any",
  588. });
  589. }
  590. // @__NO_SIDE_EFFECTS__
  591. function _unknown(Class) {
  592. return new Class({
  593. type: "unknown",
  594. });
  595. }
  596. // @__NO_SIDE_EFFECTS__
  597. function _never(Class, params) {
  598. return new Class({
  599. type: "never",
  600. ...util.normalizeParams(params),
  601. });
  602. }
  603. // @__NO_SIDE_EFFECTS__
  604. function _void(Class, params) {
  605. return new Class({
  606. type: "void",
  607. ...util.normalizeParams(params),
  608. });
  609. }
  610. // @__NO_SIDE_EFFECTS__
  611. function _date(Class, params) {
  612. return new Class({
  613. type: "date",
  614. ...util.normalizeParams(params),
  615. });
  616. }
  617. // @__NO_SIDE_EFFECTS__
  618. function _coercedDate(Class, params) {
  619. return new Class({
  620. type: "date",
  621. coerce: true,
  622. ...util.normalizeParams(params),
  623. });
  624. }
  625. // @__NO_SIDE_EFFECTS__
  626. function _nan(Class, params) {
  627. return new Class({
  628. type: "nan",
  629. ...util.normalizeParams(params),
  630. });
  631. }
  632. // @__NO_SIDE_EFFECTS__
  633. function _lt(value, params) {
  634. return new checks.$ZodCheckLessThan({
  635. check: "less_than",
  636. ...util.normalizeParams(params),
  637. value,
  638. inclusive: false,
  639. });
  640. }
  641. // @__NO_SIDE_EFFECTS__
  642. function _lte(value, params) {
  643. return new checks.$ZodCheckLessThan({
  644. check: "less_than",
  645. ...util.normalizeParams(params),
  646. value,
  647. inclusive: true,
  648. });
  649. }
  650. // @__NO_SIDE_EFFECTS__
  651. function _gt(value, params) {
  652. return new checks.$ZodCheckGreaterThan({
  653. check: "greater_than",
  654. ...util.normalizeParams(params),
  655. value,
  656. inclusive: false,
  657. });
  658. }
  659. // @__NO_SIDE_EFFECTS__
  660. function _gte(value, params) {
  661. return new checks.$ZodCheckGreaterThan({
  662. check: "greater_than",
  663. ...util.normalizeParams(params),
  664. value,
  665. inclusive: true,
  666. });
  667. }
  668. // @__NO_SIDE_EFFECTS__
  669. function _positive(params) {
  670. return _gt(0, params);
  671. }
  672. // negative
  673. // @__NO_SIDE_EFFECTS__
  674. function _negative(params) {
  675. return _lt(0, params);
  676. }
  677. // nonpositive
  678. // @__NO_SIDE_EFFECTS__
  679. function _nonpositive(params) {
  680. return _lte(0, params);
  681. }
  682. // nonnegative
  683. // @__NO_SIDE_EFFECTS__
  684. function _nonnegative(params) {
  685. return _gte(0, params);
  686. }
  687. // @__NO_SIDE_EFFECTS__
  688. function _multipleOf(value, params) {
  689. return new checks.$ZodCheckMultipleOf({
  690. check: "multiple_of",
  691. ...util.normalizeParams(params),
  692. value,
  693. });
  694. }
  695. // @__NO_SIDE_EFFECTS__
  696. function _maxSize(maximum, params) {
  697. return new checks.$ZodCheckMaxSize({
  698. check: "max_size",
  699. ...util.normalizeParams(params),
  700. maximum,
  701. });
  702. }
  703. // @__NO_SIDE_EFFECTS__
  704. function _minSize(minimum, params) {
  705. return new checks.$ZodCheckMinSize({
  706. check: "min_size",
  707. ...util.normalizeParams(params),
  708. minimum,
  709. });
  710. }
  711. // @__NO_SIDE_EFFECTS__
  712. function _size(size, params) {
  713. return new checks.$ZodCheckSizeEquals({
  714. check: "size_equals",
  715. ...util.normalizeParams(params),
  716. size,
  717. });
  718. }
  719. // @__NO_SIDE_EFFECTS__
  720. function _maxLength(maximum, params) {
  721. const ch = new checks.$ZodCheckMaxLength({
  722. check: "max_length",
  723. ...util.normalizeParams(params),
  724. maximum,
  725. });
  726. return ch;
  727. }
  728. // @__NO_SIDE_EFFECTS__
  729. function _minLength(minimum, params) {
  730. return new checks.$ZodCheckMinLength({
  731. check: "min_length",
  732. ...util.normalizeParams(params),
  733. minimum,
  734. });
  735. }
  736. // @__NO_SIDE_EFFECTS__
  737. function _length(length, params) {
  738. return new checks.$ZodCheckLengthEquals({
  739. check: "length_equals",
  740. ...util.normalizeParams(params),
  741. length,
  742. });
  743. }
  744. // @__NO_SIDE_EFFECTS__
  745. function _regex(pattern, params) {
  746. return new checks.$ZodCheckRegex({
  747. check: "string_format",
  748. format: "regex",
  749. ...util.normalizeParams(params),
  750. pattern,
  751. });
  752. }
  753. // @__NO_SIDE_EFFECTS__
  754. function _lowercase(params) {
  755. return new checks.$ZodCheckLowerCase({
  756. check: "string_format",
  757. format: "lowercase",
  758. ...util.normalizeParams(params),
  759. });
  760. }
  761. // @__NO_SIDE_EFFECTS__
  762. function _uppercase(params) {
  763. return new checks.$ZodCheckUpperCase({
  764. check: "string_format",
  765. format: "uppercase",
  766. ...util.normalizeParams(params),
  767. });
  768. }
  769. // @__NO_SIDE_EFFECTS__
  770. function _includes(includes, params) {
  771. return new checks.$ZodCheckIncludes({
  772. check: "string_format",
  773. format: "includes",
  774. ...util.normalizeParams(params),
  775. includes,
  776. });
  777. }
  778. // @__NO_SIDE_EFFECTS__
  779. function _startsWith(prefix, params) {
  780. return new checks.$ZodCheckStartsWith({
  781. check: "string_format",
  782. format: "starts_with",
  783. ...util.normalizeParams(params),
  784. prefix,
  785. });
  786. }
  787. // @__NO_SIDE_EFFECTS__
  788. function _endsWith(suffix, params) {
  789. return new checks.$ZodCheckEndsWith({
  790. check: "string_format",
  791. format: "ends_with",
  792. ...util.normalizeParams(params),
  793. suffix,
  794. });
  795. }
  796. // @__NO_SIDE_EFFECTS__
  797. function _property(property, schema, params) {
  798. return new checks.$ZodCheckProperty({
  799. check: "property",
  800. property,
  801. schema,
  802. ...util.normalizeParams(params),
  803. });
  804. }
  805. // @__NO_SIDE_EFFECTS__
  806. function _mime(types, params) {
  807. return new checks.$ZodCheckMimeType({
  808. check: "mime_type",
  809. mime: types,
  810. ...util.normalizeParams(params),
  811. });
  812. }
  813. // @__NO_SIDE_EFFECTS__
  814. function _overwrite(tx) {
  815. return new checks.$ZodCheckOverwrite({
  816. check: "overwrite",
  817. tx,
  818. });
  819. }
  820. // normalize
  821. // @__NO_SIDE_EFFECTS__
  822. function _normalize(form) {
  823. return _overwrite((input) => input.normalize(form));
  824. }
  825. // trim
  826. // @__NO_SIDE_EFFECTS__
  827. function _trim() {
  828. return _overwrite((input) => input.trim());
  829. }
  830. // toLowerCase
  831. // @__NO_SIDE_EFFECTS__
  832. function _toLowerCase() {
  833. return _overwrite((input) => input.toLowerCase());
  834. }
  835. // toUpperCase
  836. // @__NO_SIDE_EFFECTS__
  837. function _toUpperCase() {
  838. return _overwrite((input) => input.toUpperCase());
  839. }
  840. // slugify
  841. // @__NO_SIDE_EFFECTS__
  842. function _slugify() {
  843. return _overwrite((input) => util.slugify(input));
  844. }
  845. // @__NO_SIDE_EFFECTS__
  846. function _array(Class, element, params) {
  847. return new Class({
  848. type: "array",
  849. element,
  850. // get element() {
  851. // return element;
  852. // },
  853. ...util.normalizeParams(params),
  854. });
  855. }
  856. // @__NO_SIDE_EFFECTS__
  857. function _union(Class, options, params) {
  858. return new Class({
  859. type: "union",
  860. options,
  861. ...util.normalizeParams(params),
  862. });
  863. }
  864. function _xor(Class, options, params) {
  865. return new Class({
  866. type: "union",
  867. options,
  868. inclusive: false,
  869. ...util.normalizeParams(params),
  870. });
  871. }
  872. // @__NO_SIDE_EFFECTS__
  873. function _discriminatedUnion(Class, discriminator, options, params) {
  874. return new Class({
  875. type: "union",
  876. options,
  877. discriminator,
  878. ...util.normalizeParams(params),
  879. });
  880. }
  881. // @__NO_SIDE_EFFECTS__
  882. function _intersection(Class, left, right) {
  883. return new Class({
  884. type: "intersection",
  885. left,
  886. right,
  887. });
  888. }
  889. // export function _tuple(
  890. // Class: util.SchemaClass<schemas.$ZodTuple>,
  891. // items: [],
  892. // params?: string | $ZodTupleParams
  893. // ): schemas.$ZodTuple<[], null>;
  894. // @__NO_SIDE_EFFECTS__
  895. function _tuple(Class, items, _paramsOrRest, _params) {
  896. const hasRest = _paramsOrRest instanceof schemas.$ZodType;
  897. const params = hasRest ? _params : _paramsOrRest;
  898. const rest = hasRest ? _paramsOrRest : null;
  899. return new Class({
  900. type: "tuple",
  901. items,
  902. rest,
  903. ...util.normalizeParams(params),
  904. });
  905. }
  906. // @__NO_SIDE_EFFECTS__
  907. function _record(Class, keyType, valueType, params) {
  908. return new Class({
  909. type: "record",
  910. keyType,
  911. valueType,
  912. ...util.normalizeParams(params),
  913. });
  914. }
  915. // @__NO_SIDE_EFFECTS__
  916. function _map(Class, keyType, valueType, params) {
  917. return new Class({
  918. type: "map",
  919. keyType,
  920. valueType,
  921. ...util.normalizeParams(params),
  922. });
  923. }
  924. // @__NO_SIDE_EFFECTS__
  925. function _set(Class, valueType, params) {
  926. return new Class({
  927. type: "set",
  928. valueType,
  929. ...util.normalizeParams(params),
  930. });
  931. }
  932. // @__NO_SIDE_EFFECTS__
  933. function _enum(Class, values, params) {
  934. const entries = Array.isArray(values) ? Object.fromEntries(values.map((v) => [v, v])) : values;
  935. // if (Array.isArray(values)) {
  936. // for (const value of values) {
  937. // entries[value] = value;
  938. // }
  939. // } else {
  940. // Object.assign(entries, values);
  941. // }
  942. // const entries: util.EnumLike = {};
  943. // for (const val of values) {
  944. // entries[val] = val;
  945. // }
  946. return new Class({
  947. type: "enum",
  948. entries,
  949. ...util.normalizeParams(params),
  950. });
  951. }
  952. // @__NO_SIDE_EFFECTS__
  953. /** @deprecated This API has been merged into `z.enum()`. Use `z.enum()` instead.
  954. *
  955. * ```ts
  956. * enum Colors { red, green, blue }
  957. * z.enum(Colors);
  958. * ```
  959. */
  960. function _nativeEnum(Class, entries, params) {
  961. return new Class({
  962. type: "enum",
  963. entries,
  964. ...util.normalizeParams(params),
  965. });
  966. }
  967. // @__NO_SIDE_EFFECTS__
  968. function _literal(Class, value, params) {
  969. return new Class({
  970. type: "literal",
  971. values: Array.isArray(value) ? value : [value],
  972. ...util.normalizeParams(params),
  973. });
  974. }
  975. // @__NO_SIDE_EFFECTS__
  976. function _file(Class, params) {
  977. return new Class({
  978. type: "file",
  979. ...util.normalizeParams(params),
  980. });
  981. }
  982. // @__NO_SIDE_EFFECTS__
  983. function _transform(Class, fn) {
  984. return new Class({
  985. type: "transform",
  986. transform: fn,
  987. });
  988. }
  989. // @__NO_SIDE_EFFECTS__
  990. function _optional(Class, innerType) {
  991. return new Class({
  992. type: "optional",
  993. innerType,
  994. });
  995. }
  996. // @__NO_SIDE_EFFECTS__
  997. function _nullable(Class, innerType) {
  998. return new Class({
  999. type: "nullable",
  1000. innerType,
  1001. });
  1002. }
  1003. // @__NO_SIDE_EFFECTS__
  1004. function _default(Class, innerType, defaultValue) {
  1005. return new Class({
  1006. type: "default",
  1007. innerType,
  1008. get defaultValue() {
  1009. return typeof defaultValue === "function" ? defaultValue() : util.shallowClone(defaultValue);
  1010. },
  1011. });
  1012. }
  1013. // @__NO_SIDE_EFFECTS__
  1014. function _nonoptional(Class, innerType, params) {
  1015. return new Class({
  1016. type: "nonoptional",
  1017. innerType,
  1018. ...util.normalizeParams(params),
  1019. });
  1020. }
  1021. // @__NO_SIDE_EFFECTS__
  1022. function _success(Class, innerType) {
  1023. return new Class({
  1024. type: "success",
  1025. innerType,
  1026. });
  1027. }
  1028. // @__NO_SIDE_EFFECTS__
  1029. function _catch(Class, innerType, catchValue) {
  1030. return new Class({
  1031. type: "catch",
  1032. innerType,
  1033. catchValue: (typeof catchValue === "function" ? catchValue : () => catchValue),
  1034. });
  1035. }
  1036. // @__NO_SIDE_EFFECTS__
  1037. function _pipe(Class, in_, out) {
  1038. return new Class({
  1039. type: "pipe",
  1040. in: in_,
  1041. out,
  1042. });
  1043. }
  1044. // @__NO_SIDE_EFFECTS__
  1045. function _readonly(Class, innerType) {
  1046. return new Class({
  1047. type: "readonly",
  1048. innerType,
  1049. });
  1050. }
  1051. // @__NO_SIDE_EFFECTS__
  1052. function _templateLiteral(Class, parts, params) {
  1053. return new Class({
  1054. type: "template_literal",
  1055. parts,
  1056. ...util.normalizeParams(params),
  1057. });
  1058. }
  1059. // @__NO_SIDE_EFFECTS__
  1060. function _lazy(Class, getter) {
  1061. return new Class({
  1062. type: "lazy",
  1063. getter,
  1064. });
  1065. }
  1066. // @__NO_SIDE_EFFECTS__
  1067. function _promise(Class, innerType) {
  1068. return new Class({
  1069. type: "promise",
  1070. innerType,
  1071. });
  1072. }
  1073. // @__NO_SIDE_EFFECTS__
  1074. function _custom(Class, fn, _params) {
  1075. const norm = util.normalizeParams(_params);
  1076. norm.abort ?? (norm.abort = true); // default to abort:false
  1077. const schema = new Class({
  1078. type: "custom",
  1079. check: "custom",
  1080. fn: fn,
  1081. ...norm,
  1082. });
  1083. return schema;
  1084. }
  1085. // same as _custom but defaults to abort:false
  1086. // @__NO_SIDE_EFFECTS__
  1087. function _refine(Class, fn, _params) {
  1088. const schema = new Class({
  1089. type: "custom",
  1090. check: "custom",
  1091. fn: fn,
  1092. ...util.normalizeParams(_params),
  1093. });
  1094. return schema;
  1095. }
  1096. // @__NO_SIDE_EFFECTS__
  1097. function _superRefine(fn) {
  1098. const ch = _check((payload) => {
  1099. payload.addIssue = (issue) => {
  1100. if (typeof issue === "string") {
  1101. payload.issues.push(util.issue(issue, payload.value, ch._zod.def));
  1102. }
  1103. else {
  1104. // for Zod 3 backwards compatibility
  1105. const _issue = issue;
  1106. if (_issue.fatal)
  1107. _issue.continue = false;
  1108. _issue.code ?? (_issue.code = "custom");
  1109. _issue.input ?? (_issue.input = payload.value);
  1110. _issue.inst ?? (_issue.inst = ch);
  1111. _issue.continue ?? (_issue.continue = !ch._zod.def.abort); // abort is always undefined, so this is always true...
  1112. payload.issues.push(util.issue(_issue));
  1113. }
  1114. };
  1115. return fn(payload.value, payload);
  1116. });
  1117. return ch;
  1118. }
  1119. // @__NO_SIDE_EFFECTS__
  1120. function _check(fn, params) {
  1121. const ch = new checks.$ZodCheck({
  1122. check: "custom",
  1123. ...util.normalizeParams(params),
  1124. });
  1125. ch._zod.check = fn;
  1126. return ch;
  1127. }
  1128. // @__NO_SIDE_EFFECTS__
  1129. function describe(description) {
  1130. const ch = new checks.$ZodCheck({ check: "describe" });
  1131. ch._zod.onattach = [
  1132. (inst) => {
  1133. const existing = registries.globalRegistry.get(inst) ?? {};
  1134. registries.globalRegistry.add(inst, { ...existing, description });
  1135. },
  1136. ];
  1137. ch._zod.check = () => { }; // no-op check
  1138. return ch;
  1139. }
  1140. // @__NO_SIDE_EFFECTS__
  1141. function meta(metadata) {
  1142. const ch = new checks.$ZodCheck({ check: "meta" });
  1143. ch._zod.onattach = [
  1144. (inst) => {
  1145. const existing = registries.globalRegistry.get(inst) ?? {};
  1146. registries.globalRegistry.add(inst, { ...existing, ...metadata });
  1147. },
  1148. ];
  1149. ch._zod.check = () => { }; // no-op check
  1150. return ch;
  1151. }
  1152. // @__NO_SIDE_EFFECTS__
  1153. function _stringbool(Classes, _params) {
  1154. const params = util.normalizeParams(_params);
  1155. let truthyArray = params.truthy ?? ["true", "1", "yes", "on", "y", "enabled"];
  1156. let falsyArray = params.falsy ?? ["false", "0", "no", "off", "n", "disabled"];
  1157. if (params.case !== "sensitive") {
  1158. truthyArray = truthyArray.map((v) => (typeof v === "string" ? v.toLowerCase() : v));
  1159. falsyArray = falsyArray.map((v) => (typeof v === "string" ? v.toLowerCase() : v));
  1160. }
  1161. const truthySet = new Set(truthyArray);
  1162. const falsySet = new Set(falsyArray);
  1163. const _Codec = Classes.Codec ?? schemas.$ZodCodec;
  1164. const _Boolean = Classes.Boolean ?? schemas.$ZodBoolean;
  1165. const _String = Classes.String ?? schemas.$ZodString;
  1166. const stringSchema = new _String({ type: "string", error: params.error });
  1167. const booleanSchema = new _Boolean({ type: "boolean", error: params.error });
  1168. const codec = new _Codec({
  1169. type: "pipe",
  1170. in: stringSchema,
  1171. out: booleanSchema,
  1172. transform: ((input, payload) => {
  1173. let data = input;
  1174. if (params.case !== "sensitive")
  1175. data = data.toLowerCase();
  1176. if (truthySet.has(data)) {
  1177. return true;
  1178. }
  1179. else if (falsySet.has(data)) {
  1180. return false;
  1181. }
  1182. else {
  1183. payload.issues.push({
  1184. code: "invalid_value",
  1185. expected: "stringbool",
  1186. values: [...truthySet, ...falsySet],
  1187. input: payload.value,
  1188. inst: codec,
  1189. continue: false,
  1190. });
  1191. return {};
  1192. }
  1193. }),
  1194. reverseTransform: ((input, _payload) => {
  1195. if (input === true) {
  1196. return truthyArray[0] || "true";
  1197. }
  1198. else {
  1199. return falsyArray[0] || "false";
  1200. }
  1201. }),
  1202. error: params.error,
  1203. });
  1204. return codec;
  1205. }
  1206. // @__NO_SIDE_EFFECTS__
  1207. function _stringFormat(Class, format, fnOrRegex, _params = {}) {
  1208. const params = util.normalizeParams(_params);
  1209. const def = {
  1210. ...util.normalizeParams(_params),
  1211. check: "string_format",
  1212. type: "string",
  1213. format,
  1214. fn: typeof fnOrRegex === "function" ? fnOrRegex : (val) => fnOrRegex.test(val),
  1215. ...params,
  1216. };
  1217. if (fnOrRegex instanceof RegExp) {
  1218. def.pattern = fnOrRegex;
  1219. }
  1220. const inst = new Class(def);
  1221. return inst;
  1222. }