@zipbul/baker 0.1.1 → 1.0.0

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.
Files changed (45) hide show
  1. package/README.ko.md +368 -280
  2. package/README.md +369 -281
  3. package/dist/index-57gr0v18.js +6 -0
  4. package/dist/index-aegrb1kn.js +6 -0
  5. package/dist/index-xdn55cz3.js +4 -0
  6. package/dist/index.d.ts +6 -5
  7. package/dist/index.js +168 -2
  8. package/dist/src/configure.d.ts +33 -0
  9. package/dist/src/create-rule.d.ts +6 -15
  10. package/dist/src/decorators/field.d.ts +74 -0
  11. package/dist/src/decorators/index.d.ts +2 -14
  12. package/dist/src/decorators/index.js +2 -2
  13. package/dist/src/functions/deserialize.d.ts +2 -1
  14. package/dist/src/functions/serialize.d.ts +2 -2
  15. package/dist/src/functions/to-json-schema.d.ts +6 -0
  16. package/dist/src/interfaces.d.ts +5 -26
  17. package/dist/src/registry.d.ts +0 -8
  18. package/dist/src/rules/index.d.ts +2 -0
  19. package/dist/src/rules/index.js +11 -2
  20. package/dist/src/seal/circular-analyzer.d.ts +2 -6
  21. package/dist/src/seal/index.d.ts +1 -1
  22. package/dist/src/seal/seal.d.ts +21 -6
  23. package/dist/src/symbols.js +2 -2
  24. package/dist/src/types.d.ts +7 -7
  25. package/dist/src/utils.d.ts +2 -0
  26. package/package.json +10 -4
  27. package/dist/index-jzjz61tg.js +0 -14
  28. package/dist/index-jzjz61tg.js.map +0 -31
  29. package/dist/index-txxjqhgc.js +0 -6
  30. package/dist/index-txxjqhgc.js.map +0 -10
  31. package/dist/index.js.map +0 -9
  32. package/dist/src/decorators/array.d.ts +0 -13
  33. package/dist/src/decorators/common.d.ts +0 -39
  34. package/dist/src/decorators/date.d.ts +0 -5
  35. package/dist/src/decorators/index.js.map +0 -9
  36. package/dist/src/decorators/locales.d.ts +0 -9
  37. package/dist/src/decorators/nested.d.ts +0 -17
  38. package/dist/src/decorators/number.d.ts +0 -15
  39. package/dist/src/decorators/object.d.ts +0 -9
  40. package/dist/src/decorators/schema.d.ts +0 -13
  41. package/dist/src/decorators/string.d.ts +0 -72
  42. package/dist/src/decorators/transform.d.ts +0 -68
  43. package/dist/src/decorators/typechecker.d.ts +0 -18
  44. package/dist/src/rules/index.js.map +0 -9
  45. package/dist/src/symbols.js.map +0 -9
@@ -1,5 +1,14 @@
1
1
  // @bun
2
- export{x as notEquals,M as notContains,f as minLength,c as minDate,l as min,D as maxLength,g as maxDate,O as max,U as matches,E as length,J as isVariableWidth,F as isUppercase,Y as isUUID,X as isURL,ws as isTaxId,V as isSurrogatePair,vs as isStrongPassword,t as isString,gs as isSemVer,$ as isRgbColor,Us as isRFC3339,si as isPostalCode,S as isPositive,Os as isPort,qs as isPhoneNumber,ti as isPassportNumber,G as isOctal,I as isObject,q as isNumberString,e as isNumber,B as isNotIn,Ys as isNotEmptyObject,b as isNotEmpty,d as isNegative,Q as isMultibyte,us as isMongoId,$s as isMobilePhone,Bs as isMimeType,Rs as isMilitaryTime,fs as isMagnetURI,is as isMACAddress,R as isLowercase,Hs as isLongitude,Is as isLocale,Fs as isLatitude,ps as isLatLong,ns as isJWT,hs as isJSON,n as isInt,Zs as isInstance,A as isIn,ii as isIdentityCard,as as isISSN,os as isISRC,rs as isISO8601,Ws as isISO4217CurrencyCode,ys as isISO31661Alpha3,ds as isISO31661Alpha2,es as isISIN,ts as isISBN,Z as isIP,Es as isIBAN,k as isHexadecimal,_ as isHexColor,Ms as isHash,z as isHalfWidth,ss as isHSL,w as isFullWidth,cs as isFirebasePushId,ls as isFQDN,js as isEthereumAddress,a as isEnum,C as isEmpty,K as isEmail,Ss as isEAN,y as isDivisibleBy,v as isDecimal,As as isDateString,o as isDate,ms as isDataURI,Ls as isCurrency,Ds as isCreditCard,Ps as isByteLength,Ts as isBtcAddress,W as isBooleanString,r as isBoolean,bs as isBase64,Cs as isBase58,xs as isBase32,Ns as isBIC,H as isAscii,p as isArray,T as isAlphanumeric,j as isAlpha,h as equals,P as contains,Gs as arrayUnique,Ks as arrayNotEmpty,Qs as arrayNotContains,Vs as arrayMinSize,ks as arrayMaxSize,Js as arrayContains};
2
+ import{c as xz}from"../../index-57gr0v18.js";import"../../index-aegrb1kn.js";var P=(b)=>typeof b==="string";P.emit=(b,z)=>`if (typeof ${b} !== 'string') ${z.fail("isString")};`;P.ruleName="isString";P.constraints={};var d6=P;function S6(b){let z=b?.allowNaN??!1,Q=b?.allowInfinity??!1,j=b?.maxDecimalPlaces,Z=($)=>{if(typeof $!=="number")return!1;if(isNaN($))return z;if(!isFinite($))return Q;if(j!==void 0){let K=$.toExponential().split("e"),W=(K[0].split(".")[1]||"").length,q=parseInt(K[1],10);if(Math.max(0,W-q)>j)return!1}return!0};return Z.emit=($,K)=>{let W=`if (typeof ${$} !== 'number') ${K.fail("isNumber")};`;if(!z)W+=`
3
+ else if (isNaN(${$})) ${K.fail("isNumber")};`;if(!Q)W+=`
4
+ else if (${$} === Infinity || ${$} === -Infinity) ${K.fail("isNumber")};`;if(j!==void 0)W+=`
5
+ else { var _exp=${$}.toExponential().split('e'); var _mant=(_exp[0].split('.')[1]||'').length; var _exp2=parseInt(_exp[1],10); if(Math.max(0,_mant-_exp2)>${j}) ${K.fail("isNumber")}; }`;return W},Z.ruleName="isNumber",Z.constraints={allowNaN:b?.allowNaN,allowInfinity:b?.allowInfinity,maxDecimalPlaces:b?.maxDecimalPlaces},Z}var C=(b)=>typeof b==="boolean";C.emit=(b,z)=>`if (typeof ${b} !== 'boolean') ${z.fail("isBoolean")};`;C.ruleName="isBoolean";C.constraints={};var p6=C,O=(b)=>b instanceof Date&&!isNaN(b.getTime());O.emit=(b,z)=>`if (!(${b} instanceof Date) || isNaN(${b}.getTime())) ${z.fail("isDate")};`;O.ruleName="isDate";O.constraints={};var o6=O;function s6(b){let z=Object.values(b),Q=(j)=>z.indexOf(j)!==-1;return Q.emit=(j,Z)=>{return`if (_refs[${Z.addRef(z)}].indexOf(${j}) === -1) ${Z.fail("isEnum")};`},Q.ruleName="isEnum",Q.constraints={values:Object.values(b)},Q}var Y=(b)=>typeof b==="number"&&Number.isInteger(b);Y.emit=(b,z)=>`if (typeof ${b} !== 'number' || !Number.isInteger(${b})) ${z.fail("isInt")};`;Y.ruleName="isInt";Y.requiresType="number";Y.constraints={};var R6=Y,k=(b)=>Array.isArray(b);k.emit=(b,z)=>`if (!Array.isArray(${b})) ${z.fail("isArray")};`;k.ruleName="isArray";k.constraints={};var f6=k,I=(b)=>typeof b==="object"&&b!==null&&!Array.isArray(b);I.emit=(b,z)=>`if (typeof ${b} !== 'object' || ${b} === null || Array.isArray(${b})) ${z.fail("isObject")};`;I.ruleName="isObject";I.constraints={};var E6=I;function _6(b,z){if(!Number.isFinite(b))throw Error(`min: bound must be a finite number, got ${b}`);let Q=z?.exclusive??!1,j=Q?(Z)=>Z>b:(Z)=>Z>=b;return j.emit=(Z,$)=>Q?`if (${Z} <= ${b}) ${$.fail("min")};`:`if (${Z} < ${b}) ${$.fail("min")};`,j.ruleName="min",j.requiresType="number",j.constraints=Q?{min:b,exclusive:!0}:{min:b},j}function i6(b,z){if(!Number.isFinite(b))throw Error(`max: bound must be a finite number, got ${b}`);let Q=z?.exclusive??!1,j=Q?(Z)=>Z<b:(Z)=>Z<=b;return j.emit=(Z,$)=>Q?`if (${Z} >= ${b}) ${$.fail("max")};`:`if (${Z} > ${b}) ${$.fail("max")};`,j.ruleName="max",j.requiresType="number",j.constraints=Q?{max:b,exclusive:!0}:{max:b},j}var V=(b)=>b>0;V.emit=(b,z)=>`if (${b} <= 0) ${z.fail("isPositive")};`;V.ruleName="isPositive";V.requiresType="number";V.constraints={min:0,exclusive:!0};var N6=V,M=(b)=>b<0;M.emit=(b,z)=>`if (${b} >= 0) ${z.fail("isNegative")};`;M.ruleName="isNegative";M.requiresType="number";M.constraints={max:0,exclusive:!0};var u6=M;function x6(b){if(b===0)throw Error("isDivisibleBy: divisor must not be zero");let z=(Q)=>Q%b===0;return z.emit=(Q,j)=>`if (${Q} % ${b} !== 0) ${j.fail("isDivisibleBy")};`,z.ruleName="isDivisibleBy",z.requiresType="number",z.constraints={divisor:b},z}function m6(b){let z=b.getTime(),Q=(j)=>j instanceof Date&&j.getTime()>=z;return Q.emit=(j,Z)=>{let $=Z.addRef(z);return`if (!(${j} instanceof Date) || ${j}.getTime() < _refs[${$}]) ${Z.fail("minDate")};`},Q.ruleName="minDate",Q.requiresType="date",Q.constraints={min:b.toISOString()},Q}function n6(b){let z=b.getTime(),Q=(j)=>j instanceof Date&&j.getTime()<=z;return Q.emit=(j,Z)=>{let $=Z.addRef(z);return`if (!(${j} instanceof Date) || ${j}.getTime() > _refs[${$}]) ${Z.fail("maxDate")};`},Q.ruleName="maxDate",Q.requiresType="date",Q.constraints={max:b.toISOString()},Q}function r6(b){let z=(Q)=>Q===b;return z.emit=(Q,j)=>{let Z=j.addRef(b);return`if (${Q} !== _refs[${Z}]) ${j.fail("equals")};`},z.ruleName="equals",z.constraints={value:b},z}function c6(b){let z=(Q)=>Q!==b;return z.emit=(Q,j)=>{let Z=j.addRef(b);return`if (${Q} === _refs[${Z}]) ${j.fail("notEquals")};`},z.ruleName="notEquals",z.constraints={value:b},z}var g=(b)=>b===void 0||b===null||b==="";g.emit=(b,z)=>`if (${b} !== undefined && ${b} !== null && ${b} !== '') ${z.fail("isEmpty")};`;g.ruleName="isEmpty";g.constraints={};var l6=g,T=(b)=>b!==void 0&&b!==null&&b!=="";T.emit=(b,z)=>`if (${b} === undefined || ${b} === null || ${b} === '') ${z.fail("isNotEmpty")};`;T.ruleName="isNotEmpty";T.constraints={};var t6=T;function v6(b){let z=new Set(b),Q=(j)=>z.has(j);return Q.emit=(j,Z)=>{return`if (!_refs[${Z.addRef(z)}].has(${j})) ${Z.fail("isIn")};`},Q.ruleName="isIn",Q.constraints={values:b},Q}function e6(b){let z=new Set(b),Q=(j)=>!z.has(j);return Q.emit=(j,Z)=>{return`if (_refs[${Z.addRef(z)}].has(${j})) ${Z.fail("isNotIn")};`},Q.ruleName="isNotIn",Q.constraints={values:b},Q}function J(b,z,Q,j="string",Z={}){let $=(K)=>{if(typeof K!=="string")return!1;return z(K)};if($.emit=Q,$.ruleName=b,j!==void 0)$.requiresType=j;return $.constraints=Z,$}function a6(b){let z=(Q)=>typeof Q==="string"&&Q.length>=b;return z.emit=(Q,j)=>`if (${Q}.length < ${b}) ${j.fail("minLength")};`,z.ruleName="minLength",z.requiresType="string",z.constraints={min:b},z}function bb(b){let z=(Q)=>typeof Q==="string"&&Q.length<=b;return z.emit=(Q,j)=>`if (${Q}.length > ${b}) ${j.fail("maxLength")};`,z.ruleName="maxLength",z.requiresType="string",z.constraints={max:b},z}function zb(b,z){let Q=(j)=>typeof j==="string"&&j.length>=b&&j.length<=z;return Q.emit=(j,Z)=>`if (${j}.length < ${b} || ${j}.length > ${z}) ${Z.fail("length")};`,Q.ruleName="length",Q.requiresType="string",Q.constraints={min:b,max:z},Q}function Qb(b){let z=(Q)=>typeof Q==="string"&&Q.includes(b);return z.emit=(Q,j)=>{let Z=j.addRef(b);return`if (${Q}.indexOf(_refs[${Z}]) === -1) ${j.fail("contains")};`},z.ruleName="contains",z.requiresType="string",z.constraints={seed:b},z}function jb(b){let z=(Q)=>typeof Q==="string"&&!Q.includes(b);return z.emit=(Q,j)=>{let Z=j.addRef(b);return`if (${Q}.indexOf(_refs[${Z}]) !== -1) ${j.fail("notContains")};`},z.ruleName="notContains",z.requiresType="string",z.constraints={seed:b},z}function Zb(b,z){let Q=b instanceof RegExp?b:new RegExp(b,z),j=(Z)=>typeof Z==="string"&&Q.test(Z);return j.emit=(Z,$)=>{return`if (!_re[${$.addRegex(Q)}].test(${Z})) ${$.fail("matches")};`},j.ruleName="matches",j.requiresType="string",j.constraints={pattern:Q.source},j}var F=(b)=>typeof b==="string"&&b===b.toLowerCase();F.emit=(b,z)=>`if (${b} !== ${b}.toLowerCase()) ${z.fail("isLowercase")};`;F.ruleName="isLowercase";F.requiresType="string";F.constraints={};var $b=F,G=(b)=>typeof b==="string"&&b===b.toUpperCase();G.emit=(b,z)=>`if (${b} !== ${b}.toUpperCase()) ${z.fail("isUppercase")};`;G.ruleName="isUppercase";G.requiresType="string";G.constraints={};var Kb=G,E=/^[\x00-\x7F]*$/,Jb=J("isAscii",(b)=>E.test(b),(b,z)=>{return`if (!_re[${z.addRegex(E)}].test(${b})) ${z.fail("isAscii")};`}),k6=/^[a-zA-Z]+$/;function qb(b){return typeof b==="string"&&b.length>0&&k6.test(b)}var h=function b(z){if(z===void 0)return b;return qb(z)};h.emit=(b,z)=>{return`if (!_re[${z.addRegex(k6)}].test(${b})) ${z.fail("isAlpha")};`};h.ruleName="isAlpha";h.requiresType="string";h.constraints={};var Wb=h,I6=/^[a-zA-Z0-9]+$/;function wb(b){return typeof b==="string"&&b.length>0&&I6.test(b)}var X=function b(z){if(z===void 0)return b;return wb(z)};X.emit=(b,z)=>{return`if (!_re[${z.addRegex(I6)}].test(${b})) ${z.fail("isAlphanumeric")};`};X.ruleName="isAlphanumeric";X.requiresType="string";X.constraints={};var Yb=X,B=(b)=>b==="true"||b==="false"||b==="1"||b==="0";B.emit=(b,z)=>`if (${b} !== 'true' && ${b} !== 'false' && ${b} !== '1' && ${b} !== '0') ${z.fail("isBooleanString")};`;B.ruleName="isBooleanString";B.requiresType="string";B.constraints={};var Vb=B;function Mb(b){return J("isNumberString",(z)=>{if(z.length===0)return!1;let Q=Number(z);return!isNaN(Q)&&isFinite(Q)},(z,Q)=>{let j=($)=>{if($.length===0)return!1;let K=Number($);return!isNaN(K)&&isFinite(K)};return`if (!_refs[${Q.addRef(j)}](${z})) ${Q.fail("isNumberString")};`})}function Fb(b){let z=/^[-+]?(?:\d+(?:\.\d*)?|\.\d+)$/;return J("isDecimal",(Q)=>z.test(Q),(Q,j)=>{return`if (!_re[${j.addRegex(z)}].test(${Q})) ${j.fail("isDecimal")};`})}var d=/[^\u0020-\u007E\uFF61-\uFF9F]/,Gb=J("isFullWidth",(b)=>b.length>0&&d.test(b),(b,z)=>{let Q=z.addRegex(d);return`if (${b}.length === 0 || !_re[${Q}].test(${b})) ${z.fail("isFullWidth")};`}),S=/[\u0020-\u007E\uFF61-\uFF9F]/,hb=J("isHalfWidth",(b)=>b.length>0&&S.test(b),(b,z)=>{let Q=z.addRegex(S);return`if (${b}.length === 0 || !_re[${Q}].test(${b})) ${z.fail("isHalfWidth")};`}),Xb=J("isVariableWidth",(b)=>b.length>0&&d.test(b)&&S.test(b),(b,z)=>{let Q=z.addRegex(d),j=z.addRegex(S);return`if (${b}.length === 0 || !_re[${Q}].test(${b}) || !_re[${j}].test(${b})) ${z.fail("isVariableWidth")};`}),_=/[^\x00-\xFF]/,Bb=J("isMultibyte",(b)=>b.length>0&&_.test(b),(b,z)=>{let Q=z.addRegex(_);return`if (${b}.length === 0 || !_re[${Q}].test(${b})) ${z.fail("isMultibyte")};`}),i=/[\uD800-\uDBFF][\uDC00-\uDFFF]/,Ub=J("isSurrogatePair",(b)=>b.length>0&&i.test(b),(b,z)=>{let Q=z.addRegex(i);return`if (${b}.length === 0 || !_re[${Q}].test(${b})) ${z.fail("isSurrogatePair")};`}),N=/^[0-9a-fA-F]+$/,Db=J("isHexadecimal",(b)=>N.test(b),(b,z)=>{return`if (!_re[${z.addRegex(N)}].test(${b})) ${z.fail("isHexadecimal")};`}),u=/^(0[oO])?[0-7]+$/,Hb=J("isOctal",(b)=>b.length>0&&u.test(b),(b,z)=>{let Q=z.addRegex(u);return`if (${b}.length === 0 || !_re[${Q}].test(${b})) ${z.fail("isOctal")};`}),x=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*\.[a-zA-Z]{2,}$/;function yb(b){return J("isEmail",(z)=>x.test(z),(z,Q)=>{return`if (!_re[${Q.addRegex(x)}].test(${z})) ${Q.fail("isEmail")};`},"string",{format:"email"})}var Pb=["http","https","ftp"];function Cb(b){let Q=(b?.protocols??Pb).map(($)=>$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|"),j=new RegExp(`^(?:${Q}):\\/\\/(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)(?::(6553[0-5]|655[0-2]\\d|65[0-4]\\d{2}|6[0-4]\\d{3}|[1-5]\\d{4}|[1-9]\\d{0,3}|0))?(?:\\/[^\\s]*)?$`),Z=($)=>{if(typeof $!=="string"||$.length===0)return!1;return j.test($)};return Z.emit=($,K)=>{return`if (!_re[${K.addRegex(j)}].test(${$})) ${K.fail("isURL")};`},Z.ruleName="isURL",Z.requiresType="string",Z.constraints={format:"uri"},Z}var R={all:/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,1:/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-1[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/,2:/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-2[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/,3:/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-3[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/,4:/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/,5:/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-5[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/};function Ob(b){let z=b!=null?R[b]??R.all:R.all;return J("isUUID",(Q)=>z.test(Q),(Q,j)=>{return`if (!_re[${j.addRegex(z)}].test(${Q})) ${j.fail("isUUID")};`},"string",{format:"uuid"})}var L=/^(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/,A=/^(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$|^::(?:[0-9a-fA-F]{1,4}:){0,6}[0-9a-fA-F]{1,4}$|^(?:[0-9a-fA-F]{1,4}:){1,7}:$|^(?:[0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}$|^(?:[0-9a-fA-F]{1,4}:){1,5}(?::[0-9a-fA-F]{1,4}){1,2}$|^(?:[0-9a-fA-F]{1,4}:){1,4}(?::[0-9a-fA-F]{1,4}){1,3}$|^(?:[0-9a-fA-F]{1,4}:){1,3}(?::[0-9a-fA-F]{1,4}){1,4}$|^(?:[0-9a-fA-F]{1,4}:){1,2}(?::[0-9a-fA-F]{1,4}){1,5}$|^[0-9a-fA-F]{1,4}:(?::[0-9a-fA-F]{1,4}){1,6}$|^::$|^::1$|^::(?:ffff(?::0{1,4})?:)?(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$|^(?:[0-9a-fA-F]{1,4}:){1,4}:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/;function kb(b){let z=(Q)=>{if(typeof Q!=="string")return!1;if(b===4)return L.test(Q);if(b===6)return A.test(Q);return L.test(Q)||A.test(Q)};return z.emit=(Q,j)=>{if(b===4)return`if (!_re[${j.addRegex(L)}].test(${Q})) ${j.fail("isIP")};`;if(b===6)return`if (!_re[${j.addRegex(A)}].test(${Q})) ${j.fail("isIP")};`;let Z=j.addRegex(L),$=j.addRegex(A);return`if (!_re[${Z}].test(${Q}) && !_re[${$}].test(${Q})) ${j.fail("isIP")};`},z.ruleName="isIP",z.requiresType="string",z.constraints={version:b},z}var m=/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/,Ib=J("isHexColor",(b)=>m.test(b),(b,z)=>{return`if (!_re[${z.addRegex(m)}].test(${b})) ${z.fail("isHexColor")};`}),n=/^rgb\(\s*(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\s*,\s*(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\s*,\s*(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\s*\)$/,r=/^rgba\(\s*(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\s*,\s*(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\s*,\s*(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\s*,\s*(0|0?\.\d+|1(\.0+)?)\s*\)$/,c=/^rgba?\(\s*(\d{1,2}|100)%\s*,\s*(\d{1,2}|100)%\s*,\s*(\d{1,2}|100)%(?:\s*,\s*(0|0?\.\d+|1(?:\.0+)?))?\s*\)$/;function gb(b=!1){let z=(Q)=>{if(typeof Q!=="string")return!1;if(b)return c.test(Q);return n.test(Q)||r.test(Q)};return z.emit=(Q,j)=>{if(b)return`if (!_re[${j.addRegex(c)}].test(${Q})) ${j.fail("isRgbColor")};`;let Z=j.addRegex(n),$=j.addRegex(r);return`if (!_re[${Z}].test(${Q}) && !_re[${$}].test(${Q})) ${j.fail("isRgbColor")};`},z.ruleName="isRgbColor",z.requiresType="string",z.constraints={},z}var l=/^hsla?\(\s*(360|3[0-5]\d|[12]\d{2}|[1-9]\d|\d)\s*,\s*(100|[1-9]\d|\d)%\s*,\s*(100|[1-9]\d|\d)%(?:\s*,\s*(0|0?\.\d+|1(?:\.0+)?))?\s*\)$/,Tb=J("isHSL",(b)=>l.test(b),(b,z)=>{return`if (!_re[${z.addRegex(l)}].test(${b})) ${z.fail("isHSL")};`}),t=/^[0-9a-fA-F]{2}(?::[0-9a-fA-F]{2}){5}$/,v=/^[0-9a-fA-F]{2}(?:-[0-9a-fA-F]{2}){5}$/,e=/^[0-9a-fA-F]{12}$/;function Lb(b){let z=(Q)=>{if(typeof Q!=="string")return!1;if(b?.no_separators)return e.test(Q);return t.test(Q)||v.test(Q)};return z.emit=(Q,j)=>{if(b?.no_separators)return`if (!_re[${j.addRegex(e)}].test(${Q})) ${j.fail("isMACAddress")};`;let Z=j.addRegex(t),$=j.addRegex(v);return`if (!_re[${Z}].test(${Q}) && !_re[${$}].test(${Q})) ${j.fail("isMACAddress")};`},z.ruleName="isMACAddress",z.requiresType="string",z.constraints={},z}function a(b){let z=b.replace(/[-\s]/g,"");if(!/^\d{9}[\dX]$/.test(z))return!1;let Q=0;for(let Z=0;Z<9;Z++)Q+=(10-Z)*(z.charCodeAt(Z)-48);let j=z[9]==="X"?10:z.charCodeAt(9)-48;return Q+=j,Q%11===0}function b6(b){let z=b.replace(/[-\s]/g,"");if(!/^\d{13}$/.test(z))return!1;let Q=0;for(let Z=0;Z<12;Z++)Q+=(z.charCodeAt(Z)-48)*(Z%2===0?1:3);return(10-Q%10)%10===z.charCodeAt(12)-48}function Ab(b){let z=(Q)=>{if(typeof Q!=="string")return!1;if(b===10)return a(Q);if(b===13)return b6(Q);return a(Q)||b6(Q)};return z.emit=(Q,j)=>{return`if (!_refs[${j.addRef(z)}](${Q})) ${j.fail("isISBN")};`},z.ruleName="isISBN",z.requiresType="string",z.constraints={},z}var db=/^[A-Z]{2}[A-Z0-9]{9}[0-9]$/;function z6(b){if(!db.test(b))return!1;let z=b.split("").map((Z)=>{let $=Z.charCodeAt(0);return $>=65?String($-55):Z}).join(""),Q=0,j=!1;for(let Z=z.length-1;Z>=0;Z--){let $=parseInt(z[Z],10);if(j){if($*=2,$>9)$-=9}Q+=$,j=!j}return Q%10===0}var Sb=J("isISIN",z6,(b,z)=>{return`if (!_refs[${z.addRef(z6)}](${b})) ${z.fail("isISIN")};`}),f=/^\d{4}(?:-\d{2}(?:-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:?\d{2})?)?)?)?$/;function pb(b){if(!f.test(b))return!1;let z=b.match(/^(\d{4})-(\d{2})-(\d{2})/);if(!z)return!0;let Q=Number(z[2]),j=Number(z[3]);if(Q<1||Q>12)return!1;let Z=new Date(Number(z[1]),Q,0).getDate();return j>=1&&j<=Z}function ob(b){if(b?.strict){let z=(Q)=>{if(typeof Q!=="string")return!1;return pb(Q)};return z.ruleName="isISO8601",z.emit=(Q,j)=>{return`if (!_refs[${j.addRef(z)}](${Q})) ${j.fail("isISO8601")};`},z.constraints={format:"date-time"},z}return J("isISO8601",(z)=>f.test(z),(z,Q)=>{return`if (!_re[${Q.addRegex(f)}].test(${z})) ${Q.fail("isISO8601")};`},"string",{format:"date-time"})}var Q6=/^[A-Z]{2}-[A-Z0-9]{3}-\d{2}-\d{5}$|^[A-Z]{2}[A-Z0-9]{3}\d{7}$/,sb=J("isISRC",(b)=>Q6.test(b),(b,z)=>{return`if (!_re[${z.addRegex(Q6)}].test(${b})) ${z.fail("isISRC")};`});function Rb(b,z){let Q=z?.requireHyphen!==!1,j=Q?b:b.replace(/-/g,"");if(!(Q?/^\d{4}-\d{3}[\dX]$/:/^\d{7}[\dX]$/).test(j))return!1;let $=j.replace(/-/g,""),K=0;for(let q=0;q<7;q++)K+=(8-q)*($.charCodeAt(q)-48);let W=$[7]==="X"?10:$.charCodeAt(7)-48;return K+=W,K%11===0}function fb(b){let z=(Q)=>{if(typeof Q!=="string")return!1;return Rb(Q,b)};return z.emit=(Q,j)=>{return`if (!_refs[${j.addRef(z)}](${Q})) ${j.fail("isISSN")};`},z.ruleName="isISSN",z.requiresType="string",z.constraints={},z}var j6=/^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$/,Eb=J("isJWT",(b)=>j6.test(b),(b,z)=>{return`if (!_re[${z.addRegex(j6)}].test(${b})) ${z.fail("isJWT")};`}),Z6=/^[-+]?([1-8]?\d(?:\.\d+)?|90(?:\.0+)?),\s*[-+]?(180(?:\.0+)?|1[0-7]\d(?:\.\d+)?|\d{1,2}(?:\.\d+)?)$/;function _b(b){return J("isLatLong",(z)=>Z6.test(z),(z,Q)=>{return`if (!_re[${Q.addRegex(Z6)}].test(${z})) ${Q.fail("isLatLong")};`})}var $6=/^[a-zA-Z]{2,3}(?:-[a-zA-Z]{4})?(?:-(?:[a-zA-Z]{2}|\d{3}))?(?:-[a-zA-Z\d]{5,8})*$/,ib=J("isLocale",(b)=>$6.test(b),(b,z)=>{return`if (!_re[${z.addRegex($6)}].test(${b})) ${z.fail("isLocale")};`}),K6=/^data:([a-zA-Z0-9!#$&\-^_]+\/[a-zA-Z0-9!#$&\-^_]+)(?:;[a-zA-Z0-9\-]+=[a-zA-Z0-9\-]+)*(?:;base64)?,[\s\S]*$/,Nb=J("isDataURI",(b)=>K6.test(b),(b,z)=>{return`if (!_re[${z.addRegex(K6)}].test(${b})) ${z.fail("isDataURI")};`});function ub(b){let z=b?.require_tld!==!1,Q=(j)=>{if(typeof j!=="string")return!1;let Z=j;if(b?.allow_trailing_dot&&Z.endsWith("."))Z=Z.slice(0,-1);if(Z.length===0)return!1;let $=Z.split(".");if(z&&$.length<2)return!1;if(z){let K=$[$.length-1];if(!K||K.length<2||!/^[a-zA-Z]{2,}$/.test(K))return!1}return $.every((K)=>{if(K.length===0||K.length>63)return!1;if(b?.allow_underscores)return/^[a-zA-Z0-9_-]+$/.test(K);return/^[a-zA-Z0-9-]+$/.test(K)&&!K.startsWith("-")&&!K.endsWith("-")})};return Q.emit=(j,Z)=>{return`if (!_refs[${Z.addRef(Q)}](${j})) ${Z.fail("isFQDN")};`},Q.ruleName="isFQDN",Q.requiresType="string",Q.constraints={},Q}var J6=/^(?:6553[0-5]|655[0-2]\d|65[0-4]\d{2}|6[0-4]\d{3}|[1-5]\d{4}|[1-9]\d{1,3}|\d)$/,xb=J("isPort",(b)=>J6.test(b),(b,z)=>{return`if (!_re[${z.addRegex(J6)}].test(${b})) ${z.fail("isPort")};`});function q6(b){if(!/^\d{8}$/.test(b)&&!/^\d{13}$/.test(b))return!1;let z=b.split("").map(Number),Q=z.length,j=0;for(let $=0;$<Q-1;$++)j+=z[$]*(Q===8?$%2===0?3:1:$%2===0?1:3);return(10-j%10)%10===z[Q-1]}var mb=J("isEAN",q6,(b,z)=>{return`if (!_refs[${z.addRef(q6)}](${b})) ${z.fail("isEAN")};`}),g6=new Set(["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"]),U=(b)=>{if(typeof b!=="string")return!1;return g6.has(b.toUpperCase())};U.emit=(b,z)=>{return`if (!_refs[${z.addRef(g6)}].has(${b}.toUpperCase())) ${z.fail("isISO31661Alpha2")};`};U.ruleName="isISO31661Alpha2";U.requiresType="string";U.constraints={};var nb=U,T6=new Set(["ABW","AFG","AGO","AIA","ALA","ALB","AND","ANT","ARE","ARG","ARM","ASM","ATA","ATF","ATG","AUS","AUT","AZE","BDI","BEL","BEN","BES","BFA","BGD","BGR","BHR","BHS","BIH","BLM","BLR","BLZ","BMU","BOL","BRA","BRB","BRN","BTN","BVT","BWA","CAF","CAN","CCK","CHE","CHL","CHN","CIV","CMR","COD","COG","COK","COL","COM","CPV","CRI","CUB","CUW","CXR","CYM","CYP","CZE","DEU","DJI","DMA","DNK","DOM","DZA","ECU","EGY","ERI","ESH","ESP","EST","ETH","FIN","FJI","FLK","FRA","FRO","FSM","GAB","GBR","GEO","GGY","GHA","GIB","GIN","GLP","GMB","GNB","GNQ","GRC","GRD","GRL","GTM","GUF","GUM","GUY","HKG","HMD","HND","HRV","HTI","HUN","IDN","IMN","IND","IOT","IRL","IRN","IRQ","ISL","ISR","ITA","JAM","JEY","JOR","JPN","KAZ","KEN","KGZ","KHM","KIR","KNA","KOR","KWT","LAO","LBN","LBR","LBY","LCA","LIE","LKA","LSO","LTU","LUX","LVA","MAC","MAF","MAR","MCO","MDA","MDG","MDV","MEX","MHL","MKD","MLI","MLT","MMR","MNE","MNG","MNP","MOZ","MRT","MSR","MTQ","MUS","MWI","MYS","MYT","NAM","NCL","NER","NFK","NGA","NIC","NIU","NLD","NOR","NPL","NRU","NZL","OMN","PAK","PAN","PCN","PER","PHL","PLW","PNG","POL","PRI","PRK","PRT","PRY","PSE","PYF","QAT","REU","ROU","RUS","RWA","SAU","SDN","SEN","SGP","SGS","SHN","SJM","SLB","SLE","SLV","SMR","SOM","SPM","SRB","SSD","STP","SUR","SVK","SVN","SWE","SWZ","SXM","SYC","SYR","TCA","TCD","TGO","THA","TJK","TKL","TKM","TLS","TON","TTO","TUN","TUR","TUV","TWN","TZA","UGA","UKR","UMI","URY","USA","UZB","VAT","VCT","VEN","VGB","VIR","VNM","VUT","WLF","WSM","YEM","ZAF","ZMB","ZWE"]),D=(b)=>{if(typeof b!=="string")return!1;return T6.has(b.toUpperCase())};D.emit=(b,z)=>{return`if (!_refs[${z.addRef(T6)}].has(${b}.toUpperCase())) ${z.fail("isISO31661Alpha3")};`};D.ruleName="isISO31661Alpha3";D.requiresType="string";D.constraints={};var rb=D,W6=/^[A-Z]{6}[A-Z0-9]{2}(?:[A-Z0-9]{3})?$/,cb=J("isBIC",(b)=>W6.test(b.toUpperCase()),(b,z)=>{return`if (!_re[${z.addRegex(W6)}].test(${b}.toUpperCase())) ${z.fail("isBIC")};`}),w6=/^[a-zA-Z0-9_-]{20}$/,lb=J("isFirebasePushId",(b)=>w6.test(b),(b,z)=>{return`if (!_re[${z.addRegex(w6)}].test(${b})) ${z.fail("isFirebasePushId")};`}),Y6=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/,tb=J("isSemVer",(b)=>Y6.test(b),(b,z)=>{return`if (!_re[${z.addRegex(Y6)}].test(${b})) ${z.fail("isSemVer")};`}),V6=/^[0-9a-fA-F]{24}$/,vb=J("isMongoId",(b)=>V6.test(b),(b,z)=>{return`if (!_re[${z.addRegex(V6)}].test(${b})) ${z.fail("isMongoId")};`}),H=(b)=>{if(typeof b!=="string")return!1;try{return JSON.parse(b),!0}catch{return!1}};H.emit=(b,z)=>{return`if (!_refs[${z.addRef((j)=>{try{return JSON.parse(j),!0}catch{return!1}})}](${b})) ${z.fail("isJSON")};`};H.ruleName="isJSON";H.requiresType="string";H.constraints={};var eb=H,ab=/^[A-Z2-7]+=*$/i;function bz(b){let z=ab;return J("isBase32",(Q)=>{if(Q.length===0)return!1;if(Q.length%8!==0)return!1;return z.test(Q)},(Q,j)=>{let Z=j.addRegex(z);return`if (${Q}.length === 0 || ${Q}.length % 8 !== 0 || !_re[${Z}].test(${Q})) ${j.fail("isBase32")};`})}var M6=/^[1-9A-HJ-NP-Za-km-z]+$/,zz=J("isBase58",(b)=>M6.test(b),(b,z)=>{return`if (!_re[${z.addRegex(M6)}].test(${b})) ${z.fail("isBase58")};`}),Qz=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$/,jz=/^[A-Za-z0-9_-]+={0,2}$/;function Zz(b){let z=b?.urlSafe?jz:Qz;return J("isBase64",(Q)=>{if(Q.length===0)return!1;return z.test(Q)},(Q,j)=>{let Z=j.addRegex(z);return`if (${Q}.length === 0 || !_re[${Z}].test(${Q})) ${j.fail("isBase64")};`})}var F6=/^\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01])$/;function $z(b){return J("isDateString",(z)=>F6.test(z),(z,Q)=>{return`if (!_re[${Q.addRegex(F6)}].test(${z})) ${Q.fail("isDateString")};`})}var G6=/^(application|audio|font|image|message|model|multipart|text|video)\/[a-zA-Z0-9][a-zA-Z0-9!#$&\-^_.+]*(?:;.+)?$/,Kz=J("isMimeType",(b)=>G6.test(b),(b,z)=>{return`if (!_re[${z.addRegex(G6)}].test(${b})) ${z.fail("isMimeType")};`}),h6=/^[-+]?(?:[,.\d]+)(?:[.,]\d{2})?$|^\$?-?(?:\d+|\d{1,3}(?:,\d{3})*)(?:\.\d{1,2})?$/;function Jz(b){return J("isCurrency",(z)=>{if(z.length===0)return!1;return h6.test(z)},(z,Q)=>{let j=Q.addRegex(h6);return`if (${z}.length === 0 || !_re[${j}].test(${z})) ${Q.fail("isCurrency")};`})}var X6=/^magnet:\?xt=urn:[a-z0-9]+:[a-z0-9]{32,40}/i,qz=J("isMagnetURI",(b)=>X6.test(b),(b,z)=>{return`if (!_re[${z.addRegex(X6)}].test(${b})) ${z.fail("isMagnetURI")};`});function Wz(b){let z=b.replace(/[\s-]/g,"");if(z.length===0||!/^\d+$/.test(z))return!1;let Q=0,j=!1;for(let Z=z.length-1;Z>=0;Z--){let $=z.charCodeAt(Z)-48;if(j){if($*=2,$>9)$-=9}Q+=$,j=!j}return Q%10===0}var y=(b)=>{if(typeof b!=="string")return!1;return Wz(b)};y.emit=(b,z)=>`{
6
+ var _cs=${b}.replace(/[\\s-]/g,'');
7
+ if(_cs.length===0||!/^\\d+$/.test(_cs)){${z.fail("isCreditCard")}}
8
+ else{var _sum=0,_alt=false;
9
+ for(var _ci=_cs.length-1;_ci>=0;_ci--){var _cn=_cs.charCodeAt(_ci)-48;if(_alt){_cn*=2;if(_cn>9)_cn-=9;}_sum+=_cn;_alt=!_alt;}
10
+ if(_sum%10!==0)${z.fail("isCreditCard")};}
11
+ }`;y.ruleName="isCreditCard";y.requiresType="string";y.constraints={};var wz=y,Yz={AD:24,AE:23,AL:28,AT:20,AZ:28,BA:20,BE:16,BG:22,BH:22,BR:29,CH:21,CR:22,CY:28,CZ:24,DE:22,DK:18,DO:28,EE:20,ES:24,FI:18,FO:18,FR:27,GB:22,GE:22,GI:23,GL:18,GR:27,GT:28,HR:21,HU:28,IE:22,IL:23,IS:26,IT:27,JO:30,KW:30,KZ:20,LB:28,LC:32,LI:21,LT:20,LU:20,LV:21,MC:27,MD:24,ME:22,MK:19,MR:27,MT:31,MU:30,NL:18,NO:15,PK:24,PL:28,PS:29,PT:25,QA:29,RO:24,RS:22,SA:24,SC:31,SE:24,SI:19,SK:24,SM:27,ST:25,SV:28,TL:23,TN:24,TR:26,UA:29,VA:22,VG:24,XK:20};function Vz(b,z){let Q=z?.allowSpaces?b.replace(/\s/g,""):b;if(Q=Q.toUpperCase(),!/^[A-Z]{2}\d{2}[A-Z0-9]+$/.test(Q))return!1;let j=Q.slice(0,2),Z=Yz[j];if(Z!==void 0&&Q.length!==Z)return!1;let K=(Q.slice(4)+Q.slice(0,4)).replace(/[A-Z]/g,(q)=>String(q.charCodeAt(0)-55)),W=0;for(let q=0;q<K.length;q+=7){let w=String(W)+K.slice(q,q+7);W=parseInt(w,10)%97}return W===1}function Mz(b){let z=(Q)=>{if(typeof Q!=="string")return!1;return Vz(Q,b)};return z.emit=(Q,j)=>{return`if (!_refs[${j.addRef(z)}](${Q})) ${j.fail("isIBAN")};`},z.ruleName="isIBAN",z.requiresType="string",z.constraints={},z}function Fz(b,z){let Q=(j)=>{if(typeof j!=="string")return!1;let Z=Buffer.byteLength(j,"utf8");if(Z<b)return!1;if(z!==void 0&&Z>z)return!1;return!0};return Q.emit=(j,Z)=>{let $=(W)=>{let q=Buffer.byteLength(W,"utf8");if(q<b)return!1;if(z!==void 0&&q>z)return!1;return!0};return`if (!_refs[${Z.addRef($)}](${j})) ${Z.fail("isByteLength")};`},Q.ruleName="isByteLength",Q.requiresType="string",Q.constraints={},Q}var Gz={md5:/^[a-f0-9]{32}$/i,md4:/^[a-f0-9]{32}$/i,md2:/^[a-f0-9]{32}$/i,sha1:/^[a-f0-9]{40}$/i,sha256:/^[a-f0-9]{64}$/i,sha384:/^[a-f0-9]{96}$/i,sha512:/^[a-f0-9]{128}$/i,ripemd128:/^[a-f0-9]{32}$/i,ripemd160:/^[a-f0-9]{40}$/i,"tiger128,3":/^[a-f0-9]{32}$/i,"tiger128,4":/^[a-f0-9]{32}$/i,"tiger160,3":/^[a-f0-9]{40}$/i,"tiger160,4":/^[a-f0-9]{40}$/i,"tiger192,3":/^[a-f0-9]{48}$/i,"tiger192,4":/^[a-f0-9]{48}$/i,crc32:/^[a-f0-9]{8}$/i,crc32b:/^[a-f0-9]{8}$/i};function hz(b){let z=Gz[b],Q=(j)=>{if(typeof j!=="string")return!1;if(!z)return!1;return z.test(j)};return Q.emit=(j,Z)=>{if(!z)return Z.fail("isHash")+";";return`if (!_re[${Z.addRegex(z)}].test(${j})) ${Z.fail("isHash")};`},Q.ruleName="isHash",Q.requiresType="string",Q.constraints={},Q}var B6=/^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}:\d{2})$/i,Xz=J("isRFC3339",(b)=>B6.test(b),(b,z)=>{return`if (!_re[${z.addRegex(B6)}].test(${b})) ${z.fail("isRFC3339")};`}),U6=/^([01]\d|2[0-3]):[0-5]\d$/,Bz=J("isMilitaryTime",(b)=>U6.test(b),(b,z)=>{return`if (!_re[${z.addRegex(U6)}].test(${b})) ${z.fail("isMilitaryTime")};`});function L6(b){if(typeof b==="number")return b>=-90&&b<=90;if(typeof b==="string"){let z=parseFloat(b);if(isNaN(z))return!1;if(String(z)!==b&&b!==String(z)){if(!/^-?\d+(\.\d+)?$/.test(b))return!1}return z>=-90&&z<=90}return!1}var p=(b)=>L6(b);p.emit=(b,z)=>{return`if (!_refs[${z.addRef(L6)}](${b})) ${z.fail("isLatitude")};`};p.ruleName="isLatitude";p.constraints={};var Uz=p;function A6(b){if(typeof b==="number")return b>=-180&&b<=180;if(typeof b==="string"){let z=parseFloat(b);if(isNaN(z))return!1;if(!/^-?\d+(\.\d+)?$/.test(b))return!1;return z>=-180&&z<=180}return!1}var o=(b)=>A6(b);o.emit=(b,z)=>{return`if (!_refs[${z.addRef(A6)}](${b})) ${z.fail("isLongitude")};`};o.ruleName="isLongitude";o.constraints={};var Dz=o,D6=/^0x[0-9a-fA-F]{40}$/,Hz=J("isEthereumAddress",(b)=>D6.test(b),(b,z)=>{return`if (!_re[${z.addRegex(D6)}].test(${b})) ${z.fail("isEthereumAddress")};`}),H6=/^1[a-km-zA-HJ-NP-Z1-9]{25,34}$/,y6=/^3[a-km-zA-HJ-NP-Z1-9]{25,34}$/,P6=/^(bc1)[a-z0-9]{6,87}$/,yz=J("isBtcAddress",(b)=>H6.test(b)||y6.test(b)||P6.test(b),(b,z)=>{let Q=z.addRegex(H6),j=z.addRegex(y6),Z=z.addRegex(P6);return`if (!_re[${Q}].test(${b}) && !_re[${j}].test(${b}) && !_re[${Z}].test(${b})) ${z.fail("isBtcAddress")};`}),C6=new Set(["AED","AFN","ALL","AMD","ANG","AOA","ARS","AUD","AWG","AZN","BAM","BBD","BDT","BGN","BHD","BIF","BMD","BND","BOB","BOV","BRL","BSD","BTN","BWP","BYN","BZD","CAD","CDF","CHE","CHF","CHW","CLF","CLP","CNY","COP","COU","CRC","CUC","CUP","CVE","CZK","DJF","DKK","DOP","DZD","EGP","ERN","ETB","EUR","FJD","FKP","GBP","GEL","GHS","GIP","GMD","GNF","GTQ","GYD","HKD","HNL","HRK","HTG","HUF","IDR","ILS","INR","IQD","IRR","ISK","JMD","JOD","JPY","KES","KGS","KHR","KMF","KPW","KRW","KWD","KYD","KZT","LAK","LBP","LKR","LRD","LSL","LYD","MAD","MDL","MGA","MKD","MMK","MNT","MOP","MRU","MUR","MVR","MWK","MXN","MXV","MYR","MZN","NAD","NGN","NIO","NOK","NPR","NZD","OMR","PAB","PEN","PGK","PHP","PKR","PLN","PYG","QAR","RON","RSD","RUB","RWF","SAR","SBD","SCR","SDG","SEK","SGD","SHP","SLE","SLL","SOS","SRD","SSP","STN","SVC","SYP","SZL","THB","TJS","TMT","TND","TOP","TRY","TTD","TWD","TZS","UAH","UGX","USD","USN","UYI","UYU","UYW","UZS","VED","VES","VND","VUV","WST","XAF","XAG","XAU","XBA","XBB","XBC","XBD","XCD","XDR","XOF","XPD","XPF","XPT","XSU","XTS","XUA","YER","ZAR","ZMW","ZWL"]),Pz=J("isISO4217CurrencyCode",(b)=>C6.has(b),(b,z)=>{return`if (!_refs[${z.addRef(C6)}].has(${b})) ${z.fail("isISO4217CurrencyCode")};`}),O6=/^\+[1-9]\d{6,14}$/,Cz=J("isPhoneNumber",(b)=>O6.test(b),(b,z)=>{return`if (!_re[${z.addRegex(O6)}].test(${b})) ${z.fail("isPhoneNumber")};`});function Oz(b){let z=b?.minLength??8,Q=b?.minLowercase??1,j=b?.minUppercase??1,Z=b?.minNumbers??1,$=b?.minSymbols??1,K=(q)=>{if(q.length<z)return!1;if(Q>0){if((q.match(/[a-z]/g)||[]).length<Q)return!1}if(j>0){if((q.match(/[A-Z]/g)||[]).length<j)return!1}if(Z>0){if((q.match(/[0-9]/g)||[]).length<Z)return!1}if($>0){if((q.match(/[^a-zA-Z0-9]/g)||[]).length<$)return!1}return!0},W=(q)=>{if(typeof q!=="string")return!1;return K(q)};return W.emit=(q,w)=>{return`if (!_refs[${w.addRef(K)}](${q})) ${w.fail("isStrongPassword")};`},W.ruleName="isStrongPassword",W.requiresType="string",W.constraints={},W}var kz={US:/^\d{2}-\d{7}$/,KR:/^\d{3}-\d{2}-\d{5}$/,DE:/^\d{11}$/,FR:/^[0-9]{13}$/,GB:/^\d{10}$/,IT:/^[A-Z]{6}\d{2}[A-Z]\d{2}[A-Z]\d{3}[A-Z]$/i,ES:/^[0-9A-Z]\d{7}[0-9A-Z]$/i,AU:/^\d{11}$/,CA:/^\d{9}$/,IN:/^[A-Z]{5}\d{4}[A-Z]$/i};function Iz(b){let z=kz[b],Q=(j)=>{if(typeof j!=="string")return!1;if(!z)return!1;return z.test(j)};return Q.emit=(j,Z)=>{if(!z)return Z.fail("isTaxId")+";";return`if (!_re[${Z.addRegex(z)}].test(${j})) ${Z.fail("isTaxId")};`},Q.ruleName="isTaxId",Q.requiresType="string",Q.constraints={},Q}function gz(b){let z=(Q)=>{if(!Array.isArray(Q))return!1;let j=new Set(Q);return b.every((Z)=>j.has(Z))};return z.emit=(Q,j)=>{return`if (!_refs[${j.addRef(b)}].every(function(v){return ${Q}.indexOf(v)!==-1;})) ${j.fail("arrayContains")};`},z.ruleName="arrayContains",z.constraints={values:b},z}function Tz(b){let z=(Q)=>{if(!Array.isArray(Q))return!1;return b.every((j)=>!Q.includes(j))};return z.emit=(Q,j)=>{return`if (_refs[${j.addRef(b)}].some(function(v){return ${Q}.indexOf(v)!==-1;})) ${j.fail("arrayNotContains")};`},z.ruleName="arrayNotContains",z.constraints={values:b},z}function Lz(b){let z=(Q)=>Array.isArray(Q)&&Q.length>=b;return z.emit=(Q,j)=>`if (${Q}.length < ${b}) ${j.fail("arrayMinSize")};`,z.ruleName="arrayMinSize",z.constraints={min:b},z}function Az(b){let z=(Q)=>Array.isArray(Q)&&Q.length<=b;return z.emit=(Q,j)=>`if (${Q}.length > ${b}) ${j.fail("arrayMaxSize")};`,z.ruleName="arrayMaxSize",z.constraints={max:b},z}function dz(b){let z=(Q)=>{if(!Array.isArray(Q))return!1;if(b){let j=Q.map(b);return new Set(j).size===j.length}return new Set(Q).size===Q.length};return z.emit=(Q,j)=>{if(b){let Z=j.addRef(b);return`{var _keys=${Q}.map(_refs[${Z}]);if(new Set(_keys).size!==_keys.length)${j.fail("arrayUnique")};}`}return`if(new Set(${Q}).size!==${Q}.length)${j.fail("arrayUnique")};`},z.ruleName="arrayUnique",z.constraints={},z}var s=(b)=>Array.isArray(b)&&b.length>0;s.emit=(b,z)=>`if (${b}.length === 0) ${z.fail("arrayNotEmpty")};`;s.ruleName="arrayNotEmpty";s.constraints={};var Sz=s;function pz(b){let z=(Q)=>{if(Q===null||typeof Q!=="object"||Array.isArray(Q))return!1;let j=Object.keys(Q);if(b?.nullable)return j.some((Z)=>Q[Z]!=null);return j.length>0};return z.emit=(Q,j)=>{if(b?.nullable)return`if (!_refs[${j.addRef(z)}](${Q})) ${j.fail("isNotEmptyObject")};`;return`if (Object.keys(${Q}).length === 0) ${j.fail("isNotEmptyObject")};`},z.ruleName="isNotEmptyObject",z.constraints={nullable:b?.nullable},z}function oz(b){let z=(Q)=>Q instanceof b;return z.emit=(Q,j)=>{let Z=j.addRef(b);return`if (!(${Q} instanceof _refs[${Z}])) ${j.fail("isInstance")};`},z.ruleName="isInstance",z.constraints={type:b.name},z}var sz={"ko-KR":/^(\+?82|0)1[016789]\d{7,8}$/,"en-US":/^\+?1?[2-9]\d{2}[2-9]\d{6}$/,"zh-CN":/^(\+?86)?1[3-9]\d{9}$/,"zh-TW":/^(\+?886)?9\d{8}$/,"ja-JP":/^(\+?81)?0?[789]0[0-9]{8}$/,"de-DE":/^(\+?49)?1(5\d|6[0-9]|7[0-9])\d{8}$/,"fr-FR":/^(\+?33)?[67]\d{8}$/,"en-GB":/^(\+?44)?7[1-9]\d{8}$/,"ru-RU":/^(\+?7)?9\d{9}$/,"pt-BR":/^(\+?55)?[1-9]{2}9?\d{8}$/,"in-IN":/^(\+?91)?[6-9]\d{9}$/,"ar-SA":/^(\+?966)?5\d{8}$/,"ar-EG":/^(\+?20)?1[0125]\d{8}$/,"vi-VN":/^(\+?84)?[35789]\d{8}$/,"th-TH":/^(\+?66)?[689]\d{8}$/,"id-ID":/^(\+?62)?8\d{9,11}$/,"ms-MY":/^(\+?60)?1\d{8,9}$/,"nl-NL":/^(\+?31)?6\d{8}$/,"it-IT":/^(\+?39)?3\d{9}$/,"es-ES":/^(\+?34)?[67]\d{8}$/,"pl-PL":/^(\+?48)?[45789]\d{8}$/};function Rz(b){let z=sz[b],Q=(j)=>{if(typeof j!=="string")return!1;if(!z)return!1;return z.test(j)};return Q.emit=(j,Z)=>{if(!z)return Z.fail("isMobilePhone")+";";return`if (!_re[${Z.addRegex(z)}].test(${j})) ${Z.fail("isMobilePhone")};`},Q.ruleName="isMobilePhone",Q.requiresType="string",Q.constraints={locale:b},Q}var fz={AD:/^AD\d{3}$/,AT:/^\d{4}$/,AU:/^\d{4}$/,AZ:/^\d{4}$/,BE:/^\d{4}$/,BG:/^\d{4}$/,BR:/^\d{5}-?\d{3}$/,BY:/^\d{6}$/,CA:/^[ABCEGHJKLMNPRSTVXY]\d[ABCEGHJ-NPRSTV-Z] ?\d[ABCEGHJ-NPRSTV-Z]\d$/i,CH:/^\d{4}$/,CN:/^\d{6}$/,CZ:/^\d{3} ?\d{2}$/,DE:/^\d{5}$/,DK:/^\d{4}$/,EE:/^\d{5}$/,ES:/^\d{5}$/,FI:/^\d{5}$/,FR:/^\d{2} ?\d{3}$/,GB:/^(GIR ?0AA|[A-PR-UWYZ]([0-9]{1,2}|([A-HK-Y][0-9]([0-9ABEHMNPRV-Y])?)|[0-9][A-HJKPSTUW]) ?[0-9][ABD-HJLNP-UW-Z]{2})$/i,GR:/^\d{3} ?\d{2}$/,HR:/^\d{5}$/,HU:/^\d{4}$/,ID:/^\d{5}$/,IL:/^\d{5}(\d{2})?$/,IN:/^\d{6}$/,IS:/^\d{3}$/,IT:/^\d{5}$/,JP:/^\d{3}-?\d{4}$/,KR:/^\d{5}$/,LI:/^(948[5-9]|949[0-7])$/,LT:/^LT-\d{5}$/,LU:/^\d{4}$/,LV:/^LV-\d{4}$/,MX:/^\d{5}$/,MT:/^[A-Z]{3} ?\d{4}$/i,MZ:/^\d{4}$/,NL:/^\d{4} ?[A-Z]{2}$/i,NO:/^\d{4}$/,NP:/^\d{5}$/,NZ:/^\d{4}$/,PH:/^\d{4}$/,PK:/^\d{5}$/,PL:/^\d{2}-\d{3}$/,PR:/^009\d{2}([ -]\d{4})?$/,PT:/^\d{4}-\d{3}$/,RO:/^\d{6}$/,RU:/^\d{6}$/,SE:/^\d{3} ?\d{2}$/,SG:/^\d{6}$/,SI:/^\d{4}$/,SK:/^\d{3} ?\d{2}$/,TH:/^\d{5}$/,TN:/^\d{4}$/,TW:/^\d{3}(\d{2})?$/,UA:/^\d{5}$/,US:/^\d{5}(-\d{4})?$/,ZA:/^\d{4}$/,ZM:/^\d{5}$/};function Ez(b){let z=fz[b],Q=(j)=>{if(typeof j!=="string")return!1;if(!z)return!1;return z.test(j)};return Q.emit=(j,Z)=>{if(!z)return Z.fail("isPostalCode")+";";return`if (!_re[${Z.addRegex(z)}].test(${j})) ${Z.fail("isPostalCode")};`},Q.ruleName="isPostalCode",Q.requiresType="string",Q.constraints={locale:b},Q}var _z={AF:/^\d{8}$/,AL:/^[A-Z]\d{8}[A-Z]$/i,AR:/^\d{7,8}$/,AZ:/^AZE\d{8}$/,BE:/^\d{11}$/,BG:/^\d{10}$/,BR:/^\d{9}$/,BY:/^[A-Z]{2}\d{7}$/i,CA:/^\d{9}$/,CH:/^756\d{10}$/,CN:/^\d{15}(\d{2}[0-9xX])?$/,CY:/^\d{7}[A-Z]$/i,CZ:/^\d{9,10}$/,DE:/^[LI TOUAEVBMNPRSZDFGHCK]{9}$/i,DK:/^\d{10}$/,EE:/^\d{11}$/,ES:/^[0-9X-Z]\d{7}[TRWAGMYFPDXBNJZSQVHLCKE]$/i,FI:/^\d{6}[+-A]\d{3}[0-9A-FHJ-NPR-Y]$/,FR:/^\d{8,9}[0-9\u00C1-\u00FF]{1}$/i,GB:/^[A-Z]{2}\d{6}[A-Z]$/i,GR:/^[A-Z]{2}\d{6}$/i,HR:/^\d{11}$/,HU:/^\d{8}[A-Z]{2}$/i,ID:/^\d{16}$/,IE:/^\d{7}[A-W][A-W]?$/,IL:/^\d{9}$/,IN:/^\d{12}$/,IR:/^\d{10}$/,IS:/^\d{10}$/,IT:/^[A-Z]{6}\d{2}[A-Z]\d{2}[A-Z]\d{3}[A-Z]$/i,JP:/^\d{12}$/,KR:/^\d{6}-\d{7}$/,LT:/^\d{11}$/,LU:/^\d{13}$/,LV:/^\d{6}-\d{5}$/,MK:/^\d{13}$/,MX:/^[A-Z]{4}\d{6}[HM][A-Z]{2}[B-DF-HJ-NP-TV-Z]{3}[A-Z0-9]\d$/i,MT:/^\d{7}[A-Z]$/i,NL:/^\d{9}$/,NO:/^\d{11}$/,PL:/^\d{11}$/,PT:/^[1-9]\d{7}[0-9TV]$/i,RO:/^\d{13}$/,RS:/^\d{13}$/,RU:/^\d{10}$/,SE:/^\d{10,12}$/,SI:/^\d{13}$/,SK:/^\d{9,10}$/,TH:/^\d{13}$/,TR:/^\d{11}$/,TW:/^[A-Z]\d{9}$/i,UA:/^\d{9}$/,US:/^\d{3}-\d{2}-\d{4}$/,ZA:/^\d{13}$/};function iz(b){let z=_z[b],Q=(j)=>{if(typeof j!=="string")return!1;if(!z)return!1;return z.test(j)};return Q.emit=(j,Z)=>{if(!z)return Z.fail("isIdentityCard")+";";return`if (!_re[${Z.addRegex(z)}].test(${j})) ${Z.fail("isIdentityCard")};`},Q.ruleName="isIdentityCard",Q.requiresType="string",Q.constraints={locale:b},Q}var Nz={AM:/^[A-Z]{2}\d{7}$/i,AR:/^[A-Z]{3}\d{6}$/i,AT:/^[A-Z]\d{7}$/i,AU:/^[A-Z]\d{7}$/i,AZ:/^[Aa]\d{8}$/,BE:/^[A-Z]{2}\d{6}$/i,BG:/^\d{9}$/,BH:/^[A-Z]{2}\d{6}$/i,BR:/^[A-Z]{2}\d{6}$/i,BY:/^[A-Z]{2}\d{7}$/i,CA:/^[A-Z]{2}\d{6}$/i,CH:/^[A-Z]\d{7}$/i,CN:/^G\d{8}$/,CY:/^[A-Z](\d{6}|\d{8})$/i,CZ:/^\d{8}$/,DE:/^[CFGHJKLMNPRTVWXYZ0-9]{9}$/i,DK:/^\d{9}$/,EE:/^([A-Z]\d{7}|[A-Z]{2}\d{7})$/i,ES:/^[A-Z0-9]{2}([A-Z0-9]?)\d{6}$/i,FI:/^[A-Z]{2}\d{7}$/i,FR:/[A-Z0-9]{9}/i,GB:/^\d{9}$/,GR:/^[A-Z]{2}\d{7}$/i,HR:/^\d{9}$/,HU:/^[A-Z]{2}(\d{6}|\d{7})$/i,ID:/^[A-C]\d{7}$/i,IE:/^[A-Z0-9]{2}\d{7}$/i,IL:/^\d{9}$/,IN:/^[A-Z]\d{7}$/i,IR:/^[A-Z]\d{8}$/i,IS:/^(A)\d{7}$/i,IT:/^[A-Z0-9]{9}$/i,JO:/^[A-Z]{2}\d{7}$/i,JP:/^[A-Z]{2}\d{7}$/i,KR:/^[A-Z][A-Z0-9]\d{7}$/i,KW:/^\d{8}$/,KZ:/^[A-Z]\d{8}$/i,LI:/^[A-Z]\d{6}X$/i,LT:/^[A-Z0-9]{8}$/i,LU:/^[A-Z0-9]{8}$/i,LV:/^[A-Z0-9]{2}\d{7}$/i,LY:/^[A-Z]{2}\d{7}$/i,MA:/^[A-Z0-9]{2}\d{7}$/i,MD:/^[A-Z]{2}\d{7}$/i,ME:/^[A-Z]{2}\d{7}$/i,MK:/^[A-Z]\d{7}$/i,MT:/^\d{7}$/,MX:/^[A-Z]\d{8}$/i,MY:/^[AHK]\d{8}[A-Z]$/i,NL:/^[A-NP-Z]{2}[A-NP-Z0-9]{6}\d$/i,NO:/^\d{9}$/,NZ:/^[A-Z]{2}\d{6}$/i,PH:/^[A-Z]\d{7}[A-Z]$/i,PK:/^[A-Z]{2}\d{7}$/i,PL:/^[A-Z]{2}\d{7}$/i,PT:/^[A-Z]\d{6}$/i,RO:/^\d{8}$/,RS:/^\d{9}$/,RU:/^\d{9}$/,SA:/^[A-Z]\d{8}$/i,SE:/^\d{8}$/,SL:/^(P)[A-Z]\d{7}$/i,SK:/^[0-9A-Z]\d{7}$/i,TH:/^[A-Z]{1,2}\d{6,7}$/i,TN:/^\d{8}$/,TR:/^[A-Z]\d{8}$/i,TW:/^[A-Z]\d{9}$/i,UA:/^[A-Z]{2}\d{6}$/i,US:/^\d{9}$/,ZA:/^[A-Z]\d{8}$/i};function uz(b){let z=Nz[b],Q=(j)=>{if(typeof j!=="string")return!1;if(!z)return!1;return z.test(j)};return Q.emit=(j,Z)=>{if(!z)return Z.fail("isPassportNumber")+";";return`if (!_re[${Z.addRegex(z)}].test(${j})) ${Z.fail("isPassportNumber")};`},Q.ruleName="isPassportNumber",Q.requiresType="string",Q.constraints={locale:b},Q}export{c6 as notEquals,jb as notContains,a6 as minLength,m6 as minDate,_6 as min,bb as maxLength,n6 as maxDate,i6 as max,Zb as matches,zb as length,Xb as isVariableWidth,Kb as isUppercase,Ob as isUUID,Cb as isURL,Iz as isTaxId,Ub as isSurrogatePair,Oz as isStrongPassword,d6 as isString,tb as isSemVer,gb as isRgbColor,Xz as isRFC3339,Ez as isPostalCode,N6 as isPositive,xb as isPort,Cz as isPhoneNumber,uz as isPassportNumber,Hb as isOctal,E6 as isObject,Mb as isNumberString,S6 as isNumber,e6 as isNotIn,pz as isNotEmptyObject,t6 as isNotEmpty,u6 as isNegative,Bb as isMultibyte,vb as isMongoId,Rz as isMobilePhone,Kz as isMimeType,Bz as isMilitaryTime,qz as isMagnetURI,Lb as isMACAddress,$b as isLowercase,Dz as isLongitude,ib as isLocale,Uz as isLatitude,_b as isLatLong,Eb as isJWT,eb as isJSON,R6 as isInt,oz as isInstance,v6 as isIn,iz as isIdentityCard,fb as isISSN,sb as isISRC,ob as isISO8601,Pz as isISO4217CurrencyCode,rb as isISO31661Alpha3,nb as isISO31661Alpha2,Sb as isISIN,Ab as isISBN,kb as isIP,Mz as isIBAN,Db as isHexadecimal,Ib as isHexColor,hz as isHash,hb as isHalfWidth,Tb as isHSL,Gb as isFullWidth,lb as isFirebasePushId,ub as isFQDN,Hz as isEthereumAddress,s6 as isEnum,l6 as isEmpty,yb as isEmail,mb as isEAN,x6 as isDivisibleBy,Fb as isDecimal,$z as isDateString,o6 as isDate,Nb as isDataURI,Jz as isCurrency,wz as isCreditCard,Fz as isByteLength,yz as isBtcAddress,Vb as isBooleanString,p6 as isBoolean,Zz as isBase64,zz as isBase58,bz as isBase32,cb as isBIC,Jb as isAscii,f6 as isArray,Yb as isAlphanumeric,Wb as isAlpha,r6 as equals,Qb as contains,dz as arrayUnique,xz as arrayOf,Sz as arrayNotEmpty,Tz as arrayNotContains,Lz as arrayMinSize,Az as arrayMaxSize,gz as arrayContains};
3
12
 
4
- //# debugId=AC23C05EF4DB0DA864756E2164756E21
13
+ //# debugId=CD2241A1B47E6FB464756E2164756E21
5
14
  //# sourceMappingURL=index.js.map
@@ -1,13 +1,9 @@
1
- import type { RawClassMeta } from '../types';
2
- import type { SealOptions } from '../interfaces';
3
1
  /**
4
2
  * 순환 참조 정적 분석 (§4.6)
5
3
  *
6
- * - enableCircularCheck: true 항상 true
7
- * - enableCircularCheck: false → 항상 false
8
- * - 'auto' (기본) → @Type 참조 그래프를 DFS로 탐색해 순환 감지
4
+ * @Type 참조 그래프를 DFS로 탐색해 순환 감지.
9
5
  *
10
6
  * 순환 없는 flat DTO → false (WeakSet 오버헤드 0)
11
7
  * 순환 있는 DTO → true (WeakSet 자동 삽입)
12
8
  */
13
- export declare function analyzeCircular(Class: Function, _merged: RawClassMeta, options?: SealOptions): boolean;
9
+ export declare function analyzeCircular(Class: Function): boolean;
@@ -1,4 +1,4 @@
1
- export { seal, _resetForTesting, mergeInheritance } from './seal';
1
+ export { _autoSeal, _sealOnDemand, _resetForTesting, _sealedClasses, mergeInheritance } from './seal';
2
2
  export { buildDeserializeCode } from './deserialize-builder';
3
3
  export { buildSerializeCode } from './serialize-builder';
4
4
  export { analyzeCircular } from './circular-analyzer';
@@ -1,15 +1,28 @@
1
- import type { RawClassMeta } from '../types';
2
- import type { SealOptions } from '../interfaces';
1
+ import type { RawClassMeta, SealedExecutors } from '../types';
2
+ /** @internal Placeholder executor for circular dependency detection during seal */
3
+ declare function _circularPlaceholder(className: string): SealedExecutors<unknown>;
4
+ /** @internal — configure()에서 사후 호출 경고용 */
5
+ export declare function _isSealed(): boolean;
6
+ /** seal 완료된 클래스 목록 — unseal에서 SEALED 제거 시 사용 */
7
+ export declare const _sealedClasses: Set<Function>;
3
8
  /**
4
- * 전역 레지스트리에 등록된 **모든** DTO를 봉인한다.
5
- * - 2회 호출 시: SealError throw
6
- * - 순환 참조 DTO는 placeholder 패턴으로 안전하게 처리
9
+ * @internal deserialize/serialize에서 호출.
10
+ * 이미 sealed면 no-op.
7
11
  */
8
- export declare function seal(options?: SealOptions): void;
12
+ export declare function _autoSeal(): void;
13
+ /**
14
+ * @internal — 동적 import로 auto-seal 이후에 등록된 클래스를 즉석 seal.
15
+ * Class[RAW]가 있고 Class[SEALED]가 없는 경우에만 동작.
16
+ */
17
+ export declare function _sealOnDemand(Class: Function): void;
9
18
  /**
10
19
  * @internal 테스트 전용 — testing.ts의 unseal()에서 호출
11
20
  */
12
21
  export declare function _resetForTesting(): void;
22
+ /**
23
+ * @internal — serialize/deserialize에서 사용. sealed executor를 보장하여 반환.
24
+ */
25
+ export declare function _ensureSealed(Class: Function): SealedExecutors<unknown>;
13
26
  /**
14
27
  * Class의 prototype chain을 따라 RAW 메타데이터를 child-first로 병합한다.
15
28
  *
@@ -24,4 +37,6 @@ export declare function _resetForTesting(): void;
24
37
  export declare function mergeInheritance(Class: Function): RawClassMeta;
25
38
  export declare const __testing__: {
26
39
  mergeInheritance: typeof mergeInheritance;
40
+ _circularPlaceholder: typeof _circularPlaceholder;
27
41
  };
42
+ export {};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{fb as a,gb as b,hb as c}from"../index-txxjqhgc.js";export{b as SEALED,c as RAW_CLASS_SCHEMA,a as RAW};
2
+ import{e as a,f as b,g as c}from"../index-aegrb1kn.js";export{b as SEALED,c as RAW_CLASS_SCHEMA,a as RAW};
3
3
 
4
- //# debugId=D3457461D4E4095264756E2164756E21
4
+ //# debugId=51B5F46B85FFE3B364756E2164756E21
5
5
  //# sourceMappingURL=symbols.js.map
@@ -68,7 +68,7 @@ export interface ExcludeDef {
68
68
  serializeOnly?: boolean;
69
69
  }
70
70
  export interface TypeDef {
71
- fn: () => new (...args: any[]) => any;
71
+ fn: () => (new (...args: any[]) => any) | (new (...args: any[]) => any)[];
72
72
  discriminator?: {
73
73
  property: string;
74
74
  subTypes: {
@@ -77,6 +77,10 @@ export interface TypeDef {
77
77
  }[];
78
78
  };
79
79
  keepDiscriminatorProperty?: boolean;
80
+ /** seal() 정규화 결과 — fn()이 배열을 반환하면 true */
81
+ isArray?: boolean;
82
+ /** seal() 정규화 결과 — fn() 해석 후 캐시된 클래스 (프리미티브 제외, DTO만) */
83
+ resolvedClass?: new (...args: any[]) => any;
80
84
  }
81
85
  export interface PropertyFlags {
82
86
  /** @IsOptional() — undefined/null 시 validation 전체 skip */
@@ -116,11 +120,8 @@ export interface SealedExecutors<T> {
116
120
  _isAsync: boolean;
117
121
  /** serialize 방향에 async transform/nested가 있으면 true */
118
122
  _isSerializeAsync: boolean;
119
- /** debug: true 생성된 executor 소스코드 저장 */
120
- _source?: {
121
- deserialize: string;
122
- serialize: string;
123
- };
123
+ /** seal병합된 메타데이터 캐시 toJsonSchema에서 사용 (RAW 삭제 후에도 유효) */
124
+ _merged?: RawClassMeta;
124
125
  }
125
126
  export interface JsonSchema202012 {
126
127
  $schema?: string;
@@ -177,4 +178,3 @@ export interface JsonSchema202012 {
177
178
  contentSchema?: JsonSchema202012;
178
179
  [key: string]: unknown;
179
180
  }
180
- export type { ValidationOptions } from './interfaces';
@@ -0,0 +1,2 @@
1
+ /** minification-safe async function detection (uses Symbol.toStringTag, not constructor.name) */
2
+ export declare function isAsyncFunction(fn: Function): boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zipbul/baker",
3
- "version": "0.1.1",
3
+ "version": "1.0.0",
4
4
  "description": "Decorator-based validate + transform with inline code generation. class-validator DX, AOT-level performance, zero reflect-metadata.",
5
5
  "license": "MIT",
6
6
  "author": "Junhyung Park (https://github.com/parkrevil)",
@@ -15,6 +15,9 @@
15
15
  "transform",
16
16
  "decorator",
17
17
  "dto",
18
+ "typescript",
19
+ "runtime-validation",
20
+ "type-safe",
18
21
  "class-validator",
19
22
  "class-transformer",
20
23
  "serialize",
@@ -50,11 +53,14 @@
50
53
  }
51
54
  },
52
55
  "files": [
53
- "dist",
54
- "README.md"
56
+ "dist/**/*.js",
57
+ "dist/**/*.d.ts",
58
+ "README.md",
59
+ "LICENSE"
55
60
  ],
56
61
  "publishConfig": {
57
- "access": "public"
62
+ "access": "public",
63
+ "provenance": true
58
64
  },
59
65
  "dependencies": {
60
66
  "@zipbul/result": "^0.1.4"
@@ -1,14 +0,0 @@
1
- // @bun
2
- import{fb as L,hb as v}from"./index-txxjqhgc.js";var m=new Set;function W(Q,Z){if(m.add(Q),!Object.prototype.hasOwnProperty.call(Q,L))Q[L]=Object.create(null);let $=Q[L];return $[Z]??={validation:[],transform:[],expose:[],exclude:null,type:null,flags:{},schema:null}}function K(Q,Z,$){W(Q.constructor,Z).validation.push($)}function h6(Q,Z,$){W(Q.constructor,Z).transform.push($)}function C6(Q,Z,$){W(Q.constructor,Z).expose.push($)}function T6(Q,Z,$){let z=W(Q.constructor,Z);z.exclude=$}function O(Q,Z,$){let z=W(Q.constructor,Z);z.type=$}function L6(Q,Z,$){let z=W(Q.constructor,Z);if(typeof $==="function"||typeof z.schema==="function")z.schema=$;else z.schema={...z.schema??{},...$}}function O6(Q,Z){m.add(Q);let $=Q[v];Q[v]={...$??{},...Z}}function A6(Q){let Z=($)=>$===Q;return Z.emit=($,z)=>{let I=z.addRef(Q);return`if (${$} !== _refs[${I}]) ${z.fail("equals")};`},Z.ruleName="equals",Z.constraints={value:Q},Z}function V6(Q){let Z=($)=>$!==Q;return Z.emit=($,z)=>{let I=z.addRef(Q);return`if (${$} === _refs[${I}]) ${z.fail("notEquals")};`},Z.ruleName="notEquals",Z.constraints={value:Q},Z}var A=(Q)=>Q===void 0||Q===null||Q==="";A.emit=(Q,Z)=>`if (${Q} !== undefined && ${Q} !== null && ${Q} !== '') ${Z.fail("isEmpty")};`;A.ruleName="isEmpty";A.constraints={};var S6=A,V=(Q)=>Q!==void 0&&Q!==null&&Q!=="";V.emit=(Q,Z)=>`if (${Q} === undefined || ${Q} === null || ${Q} === '') ${Z.fail("isNotEmpty")};`;V.ruleName="isNotEmpty";V.constraints={};var R6=V;function E6(Q){let Z=($)=>Q.indexOf($)!==-1;return Z.emit=($,z)=>{return`if (_refs[${z.addRef(Q)}].indexOf(${$}) === -1) ${z.fail("isIn")};`},Z.ruleName="isIn",Z.constraints={values:Q},Z}function f6(Q){let Z=($)=>Q.indexOf($)===-1;return Z.emit=($,z)=>{return`if (_refs[${z.addRef(Q)}].indexOf(${$}) !== -1) ${z.fail("isNotIn")};`},Z.ruleName="isNotIn",Z.constraints={values:Q},Z}function NQ(Q){return(Z,$)=>{let z=W(Z.constructor,$);z.flags.isDefined=!0}}function xQ(Q){return(Z,$)=>{let z=W(Z.constructor,$);z.flags.isOptional=!0}}function uQ(Q){return(Z,$)=>{let z=W(Z.constructor,$);z.flags.validateIf=Q}}function mQ(Q){return(Z,$)=>{let z=W(Z.constructor,$);if(z.flags.validateNested=!0,Q?.each)z.flags.validateNestedEach=!0}}function vQ(Q){return(Z,$)=>{let z=W(Z.constructor,$);z.flags.isNullable=!0}}function cQ(Q,Z){return($,z)=>{K($,z,{rule:A6(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function rQ(Q,Z){return($,z)=>{K($,z,{rule:V6(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function lQ(Q){return(Z,$)=>{K(Z,$,{rule:S6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function pQ(Q){return(Z,$)=>{K(Z,$,{rule:R6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function sQ(Q,Z){return($,z)=>{K($,z,{rule:E6(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function nQ(Q,Z){return($,z)=>{K($,z,{rule:f6(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}class c extends Error{constructor(Q){super(Q);this.name="SealError"}}function iQ(Q,Z){if(Z?.discriminator&&Z?.each)throw new c("@Nested: discriminator + each \uB3D9\uC2DC \uC0AC\uC6A9 \uBD88\uAC00");return($,z)=>{O($,z,{fn:Q,discriminator:Z?.discriminator,keepDiscriminatorProperty:Z?.keepDiscriminatorProperty});let I=W($.constructor,z);if(I.flags.validateNested=!0,Z?.each)I.flags.validateNestedEach=!0}}var S=(Q)=>typeof Q==="string";S.emit=(Q,Z)=>`if (typeof ${Q} !== 'string') ${Z.fail("isString")};`;S.ruleName="isString";S.constraints={};var d6=S;function _6(Q){let Z=Q?.allowNaN??!1,$=Q?.allowInfinity??!1,z=Q?.maxDecimalPlaces,I=(j)=>{if(typeof j!=="number")return!1;if(isNaN(j))return Z;if(!isFinite(j))return $;if(z!==void 0){let J=j.toString(),Y=J.indexOf(".");if(Y!==-1&&J.length-Y-1>z)return!1}return!0};return I.emit=(j,J)=>{let Y=`if (typeof ${j} !== 'number') ${J.fail("isNumber")};`;if(!Z)Y+=`
3
- else if (isNaN(${j})) ${J.fail("isNumber")};`;if(!$)Y+=`
4
- else if (${j} === Infinity || ${j} === -Infinity) ${J.fail("isNumber")};`;if(z!==void 0)Y+=`
5
- else { var _s=${j}.toString(); var _d=_s.indexOf('.'); if(_d!==-1&&_s.length-_d-1>${z}) ${J.fail("isNumber")}; }`;return Y},I.ruleName="isNumber",I.constraints={allowNaN:Q?.allowNaN,allowInfinity:Q?.allowInfinity,maxDecimalPlaces:Q?.maxDecimalPlaces},I}var R=(Q)=>typeof Q==="boolean";R.emit=(Q,Z)=>`if (typeof ${Q} !== 'boolean') ${Z.fail("isBoolean")};`;R.ruleName="isBoolean";R.constraints={};var k6=R,E=(Q)=>Q instanceof Date&&!isNaN(Q.getTime());E.emit=(Q,Z)=>`if (!(${Q} instanceof Date) || isNaN(${Q}.getTime())) ${Z.fail("isDate")};`;E.ruleName="isDate";E.constraints={};var y6=E;function g6(Q){let Z=Object.values(Q),$=(z)=>Z.indexOf(z)!==-1;return $.emit=(z,I)=>{return`if (_refs[${I.addRef(Z)}].indexOf(${z}) === -1) ${I.fail("isEnum")};`},$.ruleName="isEnum",$.constraints={values:Object.values(Q)},$}var X=(Q)=>typeof Q==="number"&&Number.isInteger(Q);X.emit=(Q,Z)=>`if (typeof ${Q} !== 'number' || !Number.isInteger(${Q})) ${Z.fail("isInt")};`;X.ruleName="isInt";X.requiresType="number";X.constraints={};var N6=X,f=(Q)=>Array.isArray(Q);f.emit=(Q,Z)=>`if (!Array.isArray(${Q})) ${Z.fail("isArray")};`;f.ruleName="isArray";f.constraints={};var x6=f,d=(Q)=>typeof Q==="object"&&Q!==null&&!Array.isArray(Q);d.emit=(Q,Z)=>`if (typeof ${Q} !== 'object' || ${Q} === null || Array.isArray(${Q})) ${Z.fail("isObject")};`;d.ruleName="isObject";d.constraints={};var u6=d;function aQ(Q){return(Z,$)=>{K(Z,$,{rule:d6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function eQ(Q,Z){return($,z)=>{K($,z,{rule:_6(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function oQ(Q){return(Z,$)=>{K(Z,$,{rule:k6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function tQ(Q){return(Z,$)=>{K(Z,$,{rule:y6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function QZ(Q,Z){return($,z)=>{K($,z,{rule:g6(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function ZZ(Q){return(Z,$)=>{K(Z,$,{rule:N6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function $Z(Q){return(Z,$)=>{K(Z,$,{rule:x6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function zZ(Q){return(Z,$)=>{K(Z,$,{rule:u6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function m6(Q,Z){let $=Z?.exclusive??!1,z=$?(I)=>I>Q:(I)=>I>=Q;return z.emit=(I,j)=>$?`if (${I} <= ${Q}) ${j.fail("min")};`:`if (${I} < ${Q}) ${j.fail("min")};`,z.ruleName="min",z.requiresType="number",z.constraints=$?{min:Q,exclusive:!0}:{min:Q},z}function v6(Q,Z){let $=Z?.exclusive??!1,z=$?(I)=>I<Q:(I)=>I<=Q;return z.emit=(I,j)=>$?`if (${I} >= ${Q}) ${j.fail("max")};`:`if (${I} > ${Q}) ${j.fail("max")};`,z.ruleName="max",z.requiresType="number",z.constraints=$?{max:Q,exclusive:!0}:{max:Q},z}var b=(Q)=>Q>0;b.emit=(Q,Z)=>`if (${Q} <= 0) ${Z.fail("isPositive")};`;b.ruleName="isPositive";b.requiresType="number";b.constraints={min:0,exclusive:!0};var c6=b,F=(Q)=>Q<0;F.emit=(Q,Z)=>`if (${Q} >= 0) ${Z.fail("isNegative")};`;F.ruleName="isNegative";F.requiresType="number";F.constraints={max:0,exclusive:!0};var r6=F;function l6(Q){let Z=($)=>$%Q===0;return Z.emit=($,z)=>`if (${$} % ${Q} !== 0) ${z.fail("isDivisibleBy")};`,Z.ruleName="isDivisibleBy",Z.requiresType="number",Z.constraints={divisor:Q},Z}function IZ(Q,Z){return($,z)=>{K($,z,{rule:m6(Q,Z?.exclusive?{exclusive:!0}:void 0),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function KZ(Q,Z){return($,z)=>{K($,z,{rule:v6(Q,Z?.exclusive?{exclusive:!0}:void 0),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function jZ(Q){return(Z,$)=>{K(Z,$,{rule:c6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function JZ(Q){return(Z,$)=>{K(Z,$,{rule:r6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function qZ(Q,Z){return($,z)=>{K($,z,{rule:l6(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function p6(Q){let Z=Q.getTime(),$=(z)=>z instanceof Date&&z.getTime()>=Z;return $.emit=(z,I)=>{let j=I.addRef(Z);return`if (!(${z} instanceof Date) || ${z}.getTime() < _refs[${j}]) ${I.fail("minDate")};`},$.ruleName="minDate",$.requiresType="date",$.constraints={min:Q.toISOString()},$}function s6(Q){let Z=Q.getTime(),$=(z)=>z instanceof Date&&z.getTime()<=Z;return $.emit=(z,I)=>{let j=I.addRef(Z);return`if (!(${z} instanceof Date) || ${z}.getTime() > _refs[${j}]) ${I.fail("maxDate")};`},$.ruleName="maxDate",$.requiresType="date",$.constraints={max:Q.toISOString()},$}function YZ(Q,Z){return($,z)=>{K($,z,{rule:p6(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function wZ(Q,Z){return($,z)=>{K($,z,{rule:s6(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function q(Q,Z,$,z="string"){let I=(j)=>{if(typeof j!=="string")return!1;return Z(j)};if(I.emit=$,I.ruleName=Q,z!==void 0)I.requiresType=z;return I}function k0(Q){let Z=($)=>typeof $==="string"&&$.length>=Q;return Z.emit=($,z)=>`if (${$}.length < ${Q}) ${z.fail("minLength")};`,Z.ruleName="minLength",Z.requiresType="string",Z.constraints={min:Q},Z}function y0(Q){let Z=($)=>typeof $==="string"&&$.length<=Q;return Z.emit=($,z)=>`if (${$}.length > ${Q}) ${z.fail("maxLength")};`,Z.ruleName="maxLength",Z.requiresType="string",Z.constraints={max:Q},Z}function g0(Q,Z){let $=(z)=>typeof z==="string"&&z.length>=Q&&z.length<=Z;return $.emit=(z,I)=>`if (${z}.length < ${Q} || ${z}.length > ${Z}) ${I.fail("length")};`,$.ruleName="length",$.requiresType="string",$.constraints={min:Q,max:Z},$}function N0(Q){let Z=($)=>typeof $==="string"&&$.includes(Q);return Z.emit=($,z)=>{let I=z.addRef(Q);return`if (${$}.indexOf(_refs[${I}]) === -1) ${z.fail("contains")};`},Z.ruleName="contains",Z.requiresType="string",Z.constraints={seed:Q},Z}function x0(Q){let Z=($)=>typeof $==="string"&&!$.includes(Q);return Z.emit=($,z)=>{let I=z.addRef(Q);return`if (${$}.indexOf(_refs[${I}]) !== -1) ${z.fail("notContains")};`},Z.ruleName="notContains",Z.requiresType="string",Z.constraints={seed:Q},Z}function u0(Q,Z){let $=Q instanceof RegExp?Q:new RegExp(Q,Z),z=(I)=>typeof I==="string"&&$.test(I);return z.emit=(I,j)=>{return`if (!_re[${j.addRegex($)}].test(${I})) ${j.fail("matches")};`},z.ruleName="matches",z.requiresType="string",z.constraints={pattern:$.source},z}var M=(Q)=>typeof Q==="string"&&Q===Q.toLowerCase();M.emit=(Q,Z)=>`if (${Q} !== ${Q}.toLowerCase()) ${Z.fail("isLowercase")};`;M.ruleName="isLowercase";M.requiresType="string";M.constraints={};var m0=M,U=(Q)=>typeof Q==="string"&&Q===Q.toUpperCase();U.emit=(Q,Z)=>`if (${Q} !== ${Q}.toUpperCase()) ${Z.fail("isUppercase")};`;U.ruleName="isUppercase";U.requiresType="string";U.constraints={};var v0=U,n6=/^[\x00-\x7F]*$/,p=q("isAscii",(Q)=>n6.test(Q),(Q,Z)=>{return`if (!_re[${Z.addRegex(n6)}].test(${Q})) ${Z.fail("isAscii")};`});p.constraints={};var c0=/^[a-zA-Z]+$/;function WZ(Q){return typeof Q==="string"&&Q.length>0&&c0.test(Q)}var B=function Q(Z){if(Z===void 0)return Q;return WZ(Z)};B.emit=(Q,Z)=>{return`if (!_re[${Z.addRegex(c0)}].test(${Q})) ${Z.fail("isAlpha")};`};B.ruleName="isAlpha";B.requiresType="string";B.constraints={};var r0=B,l0=/^[a-zA-Z0-9]+$/;function GZ(Q){return typeof Q==="string"&&Q.length>0&&l0.test(Q)}var H=function Q(Z){if(Z===void 0)return Q;return GZ(Z)};H.emit=(Q,Z)=>{return`if (!_re[${Z.addRegex(l0)}].test(${Q})) ${Z.fail("isAlphanumeric")};`};H.ruleName="isAlphanumeric";H.requiresType="string";H.constraints={};var p0=H,P=(Q)=>Q==="true"||Q==="false"||Q==="1"||Q==="0";P.emit=(Q,Z)=>`if (${Q} !== 'true' && ${Q} !== 'false' && ${Q} !== '1' && ${Q} !== '0') ${Z.fail("isBooleanString")};`;P.ruleName="isBooleanString";P.requiresType="string";P.constraints={};var s0=P;function n0(Q){let Z=q("isNumberString",($)=>{if($.length===0)return!1;let z=Number($);return!isNaN(z)&&isFinite(z)},($,z)=>{let I=(J)=>{if(J.length===0)return!1;let Y=Number(J);return!isNaN(Y)&&isFinite(Y)};return`if (!_refs[${z.addRef(I)}](${$})) ${z.fail("isNumberString")};`});return Z.constraints={},Z}function i0(Q){let Z=/^[-+]?(?:\d+(?:\.\d*)?|\.\d+)$/,$=q("isDecimal",(z)=>Z.test(z),(z,I)=>{return`if (!_re[${I.addRegex(Z)}].test(${z})) ${I.fail("isDecimal")};`});return $.constraints={},$}var y=/[^\u0020-\u007E\uFF61-\uFF9F]/,s=q("isFullWidth",(Q)=>Q.length>0&&y.test(Q),(Q,Z)=>{let $=Z.addRegex(y);return`if (${Q}.length === 0 || !_re[${$}].test(${Q})) ${Z.fail("isFullWidth")};`});s.constraints={};var g=/[\u0020-\u007E\uFF61-\uFF9F]/,n=q("isHalfWidth",(Q)=>Q.length>0&&g.test(Q),(Q,Z)=>{let $=Z.addRegex(g);return`if (${Q}.length === 0 || !_re[${$}].test(${Q})) ${Z.fail("isHalfWidth")};`});n.constraints={};var i=q("isVariableWidth",(Q)=>y.test(Q)&&g.test(Q),(Q,Z)=>{let $=Z.addRegex(y),z=Z.addRegex(g);return`if (!_re[${$}].test(${Q}) || !_re[${z}].test(${Q})) ${Z.fail("isVariableWidth")};`});i.constraints={};var i6=/[^\x00-\xFF]/,a=q("isMultibyte",(Q)=>Q.length>0&&i6.test(Q),(Q,Z)=>{let $=Z.addRegex(i6);return`if (${Q}.length === 0 || !_re[${$}].test(${Q})) ${Z.fail("isMultibyte")};`});a.constraints={};var a6=/[\uD800-\uDBFF][\uDC00-\uDFFF]/,e=q("isSurrogatePair",(Q)=>Q.length>0&&a6.test(Q),(Q,Z)=>{let $=Z.addRegex(a6);return`if (${Q}.length === 0 || !_re[${$}].test(${Q})) ${Z.fail("isSurrogatePair")};`});e.constraints={};var e6=/^[0-9a-fA-F]+$/,o=q("isHexadecimal",(Q)=>e6.test(Q),(Q,Z)=>{return`if (!_re[${Z.addRegex(e6)}].test(${Q})) ${Z.fail("isHexadecimal")};`});o.constraints={};var o6=/^(0[oO])?[0-7]+$/,t=q("isOctal",(Q)=>Q.length>0&&o6.test(Q),(Q,Z)=>{let $=Z.addRegex(o6);return`if (${Q}.length === 0 || !_re[${$}].test(${Q})) ${Z.fail("isOctal")};`});t.constraints={};var t6=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*\.[a-zA-Z]{2,}$/;function a0(Q){let Z=q("isEmail",($)=>t6.test($),($,z)=>{return`if (!_re[${z.addRegex(t6)}].test(${$})) ${z.fail("isEmail")};`});return Z.constraints={format:"email"},Z}var XZ=["http","https","ftp"];function e0(Q){let $=(Q?.protocols??XZ).map((j)=>j.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|"),z=new RegExp(`^(?:${$}):\\/\\/(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)(?::\\d{1,5})?(?:\\/[^\\s]*)?$`),I=(j)=>{if(typeof j!=="string"||j.length===0)return!1;return z.test(j)};return I.emit=(j,J)=>{return`if (!_re[${J.addRegex(z)}].test(${j})) ${J.fail("isURL")};`},I.ruleName="isURL",I.requiresType="string",I.constraints={format:"uri"},I}var r={all:/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,1:/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-1[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/,2:/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-2[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/,3:/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-3[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/,4:/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/,5:/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-5[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/};function o0(Q){let Z=Q!=null?r[Q]??r.all:r.all,$=q("isUUID",(z)=>Z.test(z),(z,I)=>{return`if (!_re[${I.addRegex(Z)}].test(${z})) ${I.fail("isUUID")};`});return $.constraints={format:"uuid"},$}var _=/^(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/,k=/^(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$|^::(?:[0-9a-fA-F]{1,4}:){0,6}[0-9a-fA-F]{1,4}$|^(?:[0-9a-fA-F]{1,4}:){1,7}:$|^(?:[0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}$|^(?:[0-9a-fA-F]{1,4}:){1,5}(?::[0-9a-fA-F]{1,4}){1,2}$|^(?:[0-9a-fA-F]{1,4}:){1,4}(?::[0-9a-fA-F]{1,4}){1,3}$|^(?:[0-9a-fA-F]{1,4}:){1,3}(?::[0-9a-fA-F]{1,4}){1,4}$|^(?:[0-9a-fA-F]{1,4}:){1,2}(?::[0-9a-fA-F]{1,4}){1,5}$|^[0-9a-fA-F]{1,4}:(?::[0-9a-fA-F]{1,4}){1,6}$|^::$|^::1$|^::(?:ffff(?::0{1,4})?:)?(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$|^(?:[0-9a-fA-F]{1,4}:){1,4}:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/;function t0(Q){let Z=($)=>{if(typeof $!=="string")return!1;if(Q===4)return _.test($);if(Q===6)return k.test($);return _.test($)||k.test($)};return Z.emit=($,z)=>{if(Q===4)return`if (!_re[${z.addRegex(_)}].test(${$})) ${z.fail("isIP")};`;if(Q===6)return`if (!_re[${z.addRegex(k)}].test(${$})) ${z.fail("isIP")};`;let I=z.addRegex(_),j=z.addRegex(k);return`if (!_re[${I}].test(${$}) && !_re[${j}].test(${$})) ${z.fail("isIP")};`},Z.ruleName="isIP",Z.requiresType="string",Z.constraints={version:Q},Z}var Q0=/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/,Q6=q("isHexColor",(Q)=>Q0.test(Q),(Q,Z)=>{return`if (!_re[${Z.addRegex(Q0)}].test(${Q})) ${Z.fail("isHexColor")};`});Q6.constraints={};var Z0=/^rgb\(\s*(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\s*,\s*(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\s*,\s*(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\s*\)$/,$0=/^rgba\(\s*(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\s*,\s*(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\s*,\s*(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\s*,\s*(0|0?\.\d+|1(\.0+)?)\s*\)$/,z0=/^rgba?\(\s*(\d{1,2}|100)%\s*,\s*(\d{1,2}|100)%\s*,\s*(\d{1,2}|100)%(?:\s*,\s*(0|0?\.\d+|1(?:\.0+)?))?\s*\)$/;function QQ(Q=!1){let Z=($)=>{if(typeof $!=="string")return!1;if(Q)return z0.test($);return Z0.test($)||$0.test($)};return Z.emit=($,z)=>{if(Q)return`if (!_re[${z.addRegex(z0)}].test(${$})) ${z.fail("isRgbColor")};`;let I=z.addRegex(Z0),j=z.addRegex($0);return`if (!_re[${I}].test(${$}) && !_re[${j}].test(${$})) ${z.fail("isRgbColor")};`},Z.ruleName="isRgbColor",Z.requiresType="string",Z.constraints={},Z}var I0=/^hsla?\(\s*(360|3[0-5]\d|[12]\d{2}|[1-9]\d|\d)\s*,\s*(100|[1-9]\d|\d)%\s*,\s*(100|[1-9]\d|\d)%(?:\s*,\s*(0|0?\.\d+|1(?:\.0+)?))?\s*\)$/,Z6=q("isHSL",(Q)=>I0.test(Q),(Q,Z)=>{return`if (!_re[${Z.addRegex(I0)}].test(${Q})) ${Z.fail("isHSL")};`});Z6.constraints={};var K0=/^[0-9a-fA-F]{2}(?::[0-9a-fA-F]{2}){5}$/,j0=/^[0-9a-fA-F]{2}(?:-[0-9a-fA-F]{2}){5}$/,J0=/^[0-9a-fA-F]{12}$/;function ZQ(Q){let Z=($)=>{if(typeof $!=="string")return!1;if(Q?.no_separators)return J0.test($);return K0.test($)||j0.test($)};return Z.emit=($,z)=>{if(Q?.no_separators)return`if (!_re[${z.addRegex(J0)}].test(${$})) ${z.fail("isMACAddress")};`;let I=z.addRegex(K0),j=z.addRegex(j0);return`if (!_re[${I}].test(${$}) && !_re[${j}].test(${$})) ${z.fail("isMACAddress")};`},Z.ruleName="isMACAddress",Z.requiresType="string",Z.constraints={},Z}function q0(Q){let Z=Q.replace(/[-\s]/g,"");if(!/^\d{9}[\dX]$/.test(Z))return!1;let $=0;for(let I=0;I<9;I++)$+=(10-I)*(Z.charCodeAt(I)-48);let z=Z[9]==="X"?10:Z.charCodeAt(9)-48;return $+=z,$%11===0}function Y0(Q){let Z=Q.replace(/[-\s]/g,"");if(!/^\d{13}$/.test(Z))return!1;let $=0;for(let I=0;I<12;I++)$+=(Z.charCodeAt(I)-48)*(I%2===0?1:3);return(10-$%10)%10===Z.charCodeAt(12)-48}function $Q(Q){let Z=($)=>{if(typeof $!=="string")return!1;if(Q===10)return q0($);if(Q===13)return Y0($);return q0($)||Y0($)};return Z.emit=($,z)=>{return`if (!_refs[${z.addRef(Z)}](${$})) ${z.fail("isISBN")};`},Z.ruleName="isISBN",Z.requiresType="string",Z.constraints={},Z}var bZ=/^[A-Z]{2}[A-Z0-9]{9}[0-9]$/;function w0(Q){if(!bZ.test(Q))return!1;let Z=Q.split("").map((I)=>{let j=I.charCodeAt(0);return j>=65?String(j-55):I}).join(""),$=0,z=!1;for(let I=Z.length-1;I>=0;I--){let j=parseInt(Z[I],10);if(z){if(j*=2,j>9)j-=9}$+=j,z=!z}return $%10===0}var $6=q("isISIN",w0,(Q,Z)=>{return`if (!_refs[${Z.addRef(w0)}](${Q})) ${Z.fail("isISIN")};`});$6.constraints={};var l=/^\d{4}(?:-\d{2}(?:-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:?\d{2})?)?)?)?$/;function FZ(Q){if(!l.test(Q))return!1;let Z=Q.match(/^(\d{4})-(\d{2})-(\d{2})/);if(!Z)return!0;let $=Number(Z[2]),z=Number(Z[3]);if($<1||$>12)return!1;let I=new Date(Number(Z[1]),$,0).getDate();return z>=1&&z<=I}function zQ(Q){if(Q?.strict){let $=(z)=>{if(typeof z!=="string")return!1;return FZ(z)};return $.ruleName="isISO8601",$.emit=(z,I)=>{return`if (!_refs[${I.addRef($)}](${z})) ${I.fail("isISO8601")};`},$.constraints={format:"date-time"},$}let Z=q("isISO8601",($)=>l.test($),($,z)=>{return`if (!_re[${z.addRegex(l)}].test(${$})) ${z.fail("isISO8601")};`});return Z.constraints={format:"date-time"},Z}var W0=/^[A-Z]{2}-[A-Z0-9]{3}-\d{2}-\d{5}$|^[A-Z]{2}[A-Z0-9]{3}\d{7}$/,z6=q("isISRC",(Q)=>W0.test(Q),(Q,Z)=>{return`if (!_re[${Z.addRegex(W0)}].test(${Q})) ${Z.fail("isISRC")};`});z6.constraints={};function MZ(Q,Z){let $=Z?.requireHyphen!==!1,z=$?Q:Q.replace(/-/g,"");if(!($?/^\d{4}-\d{3}[\dX]$/:/^\d{7}[\dX]$/).test(z))return!1;let j=z.replace(/-/g,""),J=0;for(let w=0;w<7;w++)J+=(8-w)*(j.charCodeAt(w)-48);let Y=j[7]==="X"?10:j.charCodeAt(7)-48;return J+=Y,J%11===0}function IQ(Q){let Z=($)=>{if(typeof $!=="string")return!1;return MZ($,Q)};return Z.emit=($,z)=>{return`if (!_refs[${z.addRef(Z)}](${$})) ${z.fail("isISSN")};`},Z.ruleName="isISSN",Z.requiresType="string",Z.constraints={},Z}var G0=/^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$/,I6=q("isJWT",(Q)=>G0.test(Q),(Q,Z)=>{return`if (!_re[${Z.addRegex(G0)}].test(${Q})) ${Z.fail("isJWT")};`});I6.constraints={};var X0=/^[-+]?([1-8]?\d(?:\.\d+)?|90(?:\.0+)?),\s*[-+]?(180(?:\.0+)?|1[0-7]\d(?:\.\d+)?|\d{1,2}(?:\.\d+)?)$/;function KQ(Q){let Z=q("isLatLong",($)=>X0.test($),($,z)=>{return`if (!_re[${z.addRegex(X0)}].test(${$})) ${z.fail("isLatLong")};`});return Z.constraints={},Z}var b0=/^[a-zA-Z]{2,3}(?:-[a-zA-Z]{4})?(?:-(?:[a-zA-Z]{2}|\d{3}))?(?:-[a-zA-Z\d]{5,8})*$/,K6=q("isLocale",(Q)=>b0.test(Q),(Q,Z)=>{return`if (!_re[${Z.addRegex(b0)}].test(${Q})) ${Z.fail("isLocale")};`});K6.constraints={};var F0=/^data:([a-zA-Z0-9!#$&\-^_]+\/[a-zA-Z0-9!#$&\-^_]+)(?:;[a-zA-Z0-9\-]+=[a-zA-Z0-9\-]+)*(?:;base64)?,[\s\S]*$/,j6=q("isDataURI",(Q)=>F0.test(Q),(Q,Z)=>{return`if (!_re[${Z.addRegex(F0)}].test(${Q})) ${Z.fail("isDataURI")};`});j6.constraints={};function jQ(Q){let Z=Q?.require_tld!==!1,$=(z)=>{if(typeof z!=="string")return!1;let I=z;if(Q?.allow_trailing_dot&&I.endsWith("."))I=I.slice(0,-1);if(I.length===0)return!1;let j=I.split(".");if(Z&&j.length<2)return!1;if(Z){let J=j[j.length-1];if(!J||J.length<2||!/^[a-zA-Z]{2,}$/.test(J))return!1}return j.every((J)=>{if(J.length===0||J.length>63)return!1;if(Q?.allow_underscores)return/^[a-zA-Z0-9_-]+$/.test(J);return/^[a-zA-Z0-9-]+$/.test(J)&&!J.startsWith("-")&&!J.endsWith("-")})};return $.emit=(z,I)=>{return`if (!_refs[${I.addRef($)}](${z})) ${I.fail("isFQDN")};`},$.ruleName="isFQDN",$.requiresType="string",$.constraints={},$}var M0=/^(?:6553[0-5]|655[0-2]\d|65[0-4]\d{2}|6[0-4]\d{3}|[1-5]\d{4}|[1-9]\d{1,3}|\d)$/,J6=q("isPort",(Q)=>M0.test(Q),(Q,Z)=>{return`if (!_re[${Z.addRegex(M0)}].test(${Q})) ${Z.fail("isPort")};`});J6.constraints={};function U0(Q){if(!/^\d{8}$/.test(Q)&&!/^\d{13}$/.test(Q))return!1;let Z=Q.split("").map(Number),$=Z.length,z=0;for(let j=0;j<$-1;j++)z+=Z[j]*($===8?j%2===0?3:1:j%2===0?1:3);return(10-z%10)%10===Z[$-1]}var q6=q("isEAN",U0,(Q,Z)=>{return`if (!_refs[${Z.addRef(U0)}](${Q})) ${Z.fail("isEAN")};`});q6.constraints={};var JQ=new Set(["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"]),D=(Q)=>{if(typeof Q!=="string")return!1;return JQ.has(Q.toUpperCase())};D.emit=(Q,Z)=>{return`if (!_refs[${Z.addRef(JQ)}].has(${Q}.toUpperCase())) ${Z.fail("isISO31661Alpha2")};`};D.ruleName="isISO31661Alpha2";D.requiresType="string";D.constraints={};var qQ=D,YQ=new Set(["ABW","AFG","AGO","AIA","ALA","ALB","AND","ANT","ARE","ARG","ARM","ASM","ATA","ATF","ATG","AUS","AUT","AZE","BDI","BEL","BEN","BES","BFA","BGD","BGR","BHR","BHS","BIH","BLM","BLR","BLZ","BMU","BOL","BRA","BRB","BRN","BTN","BVT","BWA","CAF","CAN","CCK","CHE","CHL","CHN","CIV","CMR","COD","COG","COK","COL","COM","CPV","CRI","CUB","CUW","CXR","CYM","CYP","CZE","DEU","DJI","DMA","DNK","DOM","DZA","ECU","EGY","ERI","ESH","ESP","EST","ETH","FIN","FJI","FLK","FRA","FRO","FSM","GAB","GBR","GEO","GGY","GHA","GIB","GIN","GLP","GMB","GNB","GNQ","GRC","GRD","GRL","GTM","GUF","GUM","GUY","HKG","HMD","HND","HRV","HTI","HUN","IDN","IMN","IND","IOT","IRL","IRN","IRQ","ISL","ISR","ITA","JAM","JEY","JOR","JPN","KAZ","KEN","KGZ","KHM","KIR","KNA","KOR","KWT","LAO","LBN","LBR","LBY","LCA","LIE","LKA","LSO","LTU","LUX","LVA","MAC","MAF","MAR","MCO","MDA","MDG","MDV","MEX","MHL","MKD","MLI","MLT","MMR","MNE","MNG","MNP","MOZ","MRT","MSR","MTQ","MUS","MWI","MYS","MYT","NAM","NCL","NER","NFK","NGA","NIC","NIU","NLD","NOR","NPL","NRU","NZL","OMN","PAK","PAN","PCN","PER","PHL","PLW","PNG","POL","PRI","PRK","PRT","PRY","PSE","PYF","QAT","REU","ROU","RUS","RWA","SAU","SDN","SEN","SGP","SGS","SHN","SJM","SLB","SLE","SLV","SMR","SOM","SPM","SRB","SSD","STP","SUR","SVK","SVN","SWE","SWZ","SXM","SYC","SYR","TCA","TCD","TGO","THA","TJK","TKL","TKM","TLS","TON","TTO","TUN","TUR","TUV","TWN","TZA","UGA","UKR","UMI","URY","USA","UZB","VAT","VCT","VEN","VGB","VIR","VNM","VUT","WLF","WSM","YEM","ZAF","ZMB","ZWE"]),h=(Q)=>{if(typeof Q!=="string")return!1;return YQ.has(Q.toUpperCase())};h.emit=(Q,Z)=>{return`if (!_refs[${Z.addRef(YQ)}].has(${Q}.toUpperCase())) ${Z.fail("isISO31661Alpha3")};`};h.ruleName="isISO31661Alpha3";h.requiresType="string";h.constraints={};var wQ=h,B0=/^[A-Z]{6}[A-Z0-9]{2}(?:[A-Z0-9]{3})?$/,Y6=q("isBIC",(Q)=>B0.test(Q.toUpperCase()),(Q,Z)=>{return`if (!_re[${Z.addRegex(B0)}].test(${Q}.toUpperCase())) ${Z.fail("isBIC")};`});Y6.constraints={};var H0=/^[a-zA-Z0-9_-]{20}$/,w6=q("isFirebasePushId",(Q)=>H0.test(Q),(Q,Z)=>{return`if (!_re[${Z.addRegex(H0)}].test(${Q})) ${Z.fail("isFirebasePushId")};`});w6.constraints={};var P0=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/,W6=q("isSemVer",(Q)=>P0.test(Q),(Q,Z)=>{return`if (!_re[${Z.addRegex(P0)}].test(${Q})) ${Z.fail("isSemVer")};`});W6.constraints={};var D0=/^[0-9a-fA-F]{24}$/,G6=q("isMongoId",(Q)=>D0.test(Q),(Q,Z)=>{return`if (!_re[${Z.addRegex(D0)}].test(${Q})) ${Z.fail("isMongoId")};`});G6.constraints={};var C=(Q)=>{if(typeof Q!=="string")return!1;try{return JSON.parse(Q),!0}catch{return!1}};C.emit=(Q,Z)=>{return`if (!_refs[${Z.addRef((z)=>{try{return JSON.parse(z),!0}catch{return!1}})}](${Q})) ${Z.fail("isJSON")};`};C.ruleName="isJSON";C.requiresType="string";C.constraints={};var WQ=C,UZ=/^[A-Z2-7]+=*$/i;function GQ(Q){let Z=UZ,$=q("isBase32",(z)=>{if(z.length===0)return!1;if(z.length%8!==0)return!1;return Z.test(z)},(z,I)=>{let j=I.addRegex(Z);return`if (${z}.length === 0 || ${z}.length % 8 !== 0 || !_re[${j}].test(${z})) ${I.fail("isBase32")};`});return $.constraints={},$}var h0=/^[1-9A-HJ-NP-Za-km-z]+$/,X6=q("isBase58",(Q)=>h0.test(Q),(Q,Z)=>{return`if (!_re[${Z.addRegex(h0)}].test(${Q})) ${Z.fail("isBase58")};`});X6.constraints={};var BZ=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$/,HZ=/^[A-Za-z0-9_-]+={0,2}$/;function XQ(Q){let Z=Q?.urlSafe?HZ:BZ,$=q("isBase64",(z)=>{if(z.length===0)return!1;return Z.test(z)},(z,I)=>{let j=I.addRegex(Z);return`if (${z}.length === 0 || !_re[${j}].test(${z})) ${I.fail("isBase64")};`});return $.constraints={},$}var C0=/^\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01])$/;function bQ(Q){let Z=q("isDateString",($)=>C0.test($),($,z)=>{return`if (!_re[${z.addRegex(C0)}].test(${$})) ${z.fail("isDateString")};`});return Z.constraints={},Z}var T0=/^(application|audio|font|image|message|model|multipart|text|video)\/[a-zA-Z0-9][a-zA-Z0-9!#$&\-^_.+]*(?:;.+)?$/,b6=q("isMimeType",(Q)=>T0.test(Q),(Q,Z)=>{return`if (!_re[${Z.addRegex(T0)}].test(${Q})) ${Z.fail("isMimeType")};`});b6.constraints={};var L0=/^[-+]?(?:[,.\d]+)(?:[.,]\d{2})?$|^\$?-?(?:\d+|\d{1,3}(?:,\d{3})*)(?:\.\d{1,2})?$/;function FQ(Q){let Z=q("isCurrency",($)=>{if($.length===0)return!1;return L0.test($)},($,z)=>{let I=z.addRegex(L0);return`if (${$}.length === 0 || !_re[${I}].test(${$})) ${z.fail("isCurrency")};`});return Z.constraints={},Z}var O0=/^magnet:\?xt=urn:[a-z0-9]+:[a-z0-9]{32,40}/i,F6=q("isMagnetURI",(Q)=>O0.test(Q),(Q,Z)=>{return`if (!_re[${Z.addRegex(O0)}].test(${Q})) ${Z.fail("isMagnetURI")};`});F6.constraints={};function PZ(Q){let Z=Q.replace(/[\s-]/g,"");if(Z.length===0||!/^\d+$/.test(Z))return!1;let $=0,z=!1;for(let I=Z.length-1;I>=0;I--){let j=Z.charCodeAt(I)-48;if(z){if(j*=2,j>9)j-=9}$+=j,z=!z}return $%10===0}var T=(Q)=>{if(typeof Q!=="string")return!1;return PZ(Q)};T.emit=(Q,Z)=>`{
6
- var _cs=${Q}.replace(/[\\s-]/g,'');
7
- if(_cs.length===0||!/^\\d+$/.test(_cs)){${Z.fail("isCreditCard")}}
8
- else{var _sum=0,_alt=false;
9
- for(var _ci=_cs.length-1;_ci>=0;_ci--){var _cn=_cs.charCodeAt(_ci)-48;if(_alt){_cn*=2;if(_cn>9)_cn-=9;}_sum+=_cn;_alt=!_alt;}
10
- if(_sum%10!==0)${Z.fail("isCreditCard")};}
11
- }`;T.ruleName="isCreditCard";T.requiresType="string";T.constraints={};var MQ=T,DZ={AD:24,AE:23,AL:28,AT:20,AZ:28,BA:20,BE:16,BG:22,BH:22,BR:29,CH:21,CR:22,CY:28,CZ:24,DE:22,DK:18,DO:28,EE:20,ES:24,FI:18,FO:18,FR:27,GB:22,GE:22,GI:23,GL:18,GR:27,GT:28,HR:21,HU:28,IE:22,IL:23,IS:26,IT:27,JO:30,KW:30,KZ:20,LB:28,LC:32,LI:21,LT:20,LU:20,LV:21,MC:27,MD:24,ME:22,MK:19,MR:27,MT:31,MU:30,NL:18,NO:15,PK:24,PL:28,PS:29,PT:25,QA:29,RO:24,RS:22,SA:24,SC:31,SE:24,SI:19,SK:24,SM:27,ST:25,SV:28,TL:23,TN:24,TR:26,UA:29,VA:22,VG:24,XK:20};function hZ(Q,Z){let $=Z?.allowSpaces?Q.replace(/\s/g,""):Q;if($=$.toUpperCase(),!/^[A-Z]{2}\d{2}[A-Z0-9]+$/.test($))return!1;let z=$.slice(0,2),I=DZ[z];if(I!==void 0&&$.length!==I)return!1;let J=($.slice(4)+$.slice(0,4)).replace(/[A-Z]/g,(w)=>String(w.charCodeAt(0)-55)),Y=0;for(let w=0;w<J.length;w+=7){let G=String(Y)+J.slice(w,w+7);Y=parseInt(G,10)%97}return Y===1}function UQ(Q){let Z=($)=>{if(typeof $!=="string")return!1;return hZ($,Q)};return Z.emit=($,z)=>{return`if (!_refs[${z.addRef(Z)}](${$})) ${z.fail("isIBAN")};`},Z.ruleName="isIBAN",Z.requiresType="string",Z.constraints={},Z}function BQ(Q,Z){let $=(z)=>{if(typeof z!=="string")return!1;let I=Buffer.byteLength(z,"utf8");if(I<Q)return!1;if(Z!==void 0&&I>Z)return!1;return!0};return $.emit=(z,I)=>{let j=(Y)=>{let w=Buffer.byteLength(Y,"utf8");if(w<Q)return!1;if(Z!==void 0&&w>Z)return!1;return!0};return`if (!_refs[${I.addRef(j)}](${z})) ${I.fail("isByteLength")};`},$.ruleName="isByteLength",$.requiresType="string",$.constraints={},$}var CZ={md5:/^[a-f0-9]{32}$/i,md4:/^[a-f0-9]{32}$/i,md2:/^[a-f0-9]{32}$/i,sha1:/^[a-f0-9]{40}$/i,sha256:/^[a-f0-9]{64}$/i,sha384:/^[a-f0-9]{96}$/i,sha512:/^[a-f0-9]{128}$/i,ripemd128:/^[a-f0-9]{32}$/i,ripemd160:/^[a-f0-9]{40}$/i,"tiger128,3":/^[a-f0-9]{32}$/i,"tiger128,4":/^[a-f0-9]{32}$/i,"tiger160,3":/^[a-f0-9]{40}$/i,"tiger160,4":/^[a-f0-9]{40}$/i,"tiger192,3":/^[a-f0-9]{48}$/i,"tiger192,4":/^[a-f0-9]{48}$/i,crc32:/^[a-f0-9]{8}$/i,crc32b:/^[a-f0-9]{8}$/i};function HQ(Q){let Z=CZ[Q],$=(z)=>{if(typeof z!=="string")return!1;if(!Z)return!1;return Z.test(z)};return $.emit=(z,I)=>{if(!Z)return I.fail("isHash")+";";return`if (!_re[${I.addRegex(Z)}].test(${z})) ${I.fail("isHash")};`},$.ruleName="isHash",$.requiresType="string",$.constraints={},$}var A0=/^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}:\d{2})$/i,M6=q("isRFC3339",(Q)=>A0.test(Q),(Q,Z)=>{return`if (!_re[${Z.addRegex(A0)}].test(${Q})) ${Z.fail("isRFC3339")};`});M6.constraints={};var V0=/^([01]\d|2[0-3]):[0-5]\d$/,U6=q("isMilitaryTime",(Q)=>V0.test(Q),(Q,Z)=>{return`if (!_re[${Z.addRegex(V0)}].test(${Q})) ${Z.fail("isMilitaryTime")};`});U6.constraints={};function PQ(Q){if(typeof Q==="number")return Q>=-90&&Q<=90;if(typeof Q==="string"){let Z=parseFloat(Q);if(isNaN(Z))return!1;if(String(Z)!==Q&&Q!==String(Z)){if(!/^-?\d+(\.\d+)?$/.test(Q))return!1}return Z>=-90&&Z<=90}return!1}var N=(Q)=>PQ(Q);N.emit=(Q,Z)=>{return`if (!_refs[${Z.addRef(PQ)}](${Q})) ${Z.fail("isLatitude")};`};N.ruleName="isLatitude";N.constraints={};var DQ=N;function hQ(Q){if(typeof Q==="number")return Q>=-180&&Q<=180;if(typeof Q==="string"){let Z=parseFloat(Q);if(isNaN(Z))return!1;if(!/^-?\d+(\.\d+)?$/.test(Q))return!1;return Z>=-180&&Z<=180}return!1}var x=(Q)=>hQ(Q);x.emit=(Q,Z)=>{return`if (!_refs[${Z.addRef(hQ)}](${Q})) ${Z.fail("isLongitude")};`};x.ruleName="isLongitude";x.constraints={};var CQ=x,S0=/^0x[0-9a-fA-F]{40}$/,B6=q("isEthereumAddress",(Q)=>S0.test(Q),(Q,Z)=>{return`if (!_re[${Z.addRegex(S0)}].test(${Q})) ${Z.fail("isEthereumAddress")};`});B6.constraints={};var R0=/^1[a-km-zA-HJ-NP-Z1-9]{25,34}$/,E0=/^3[a-km-zA-HJ-NP-Z1-9]{25,34}$/,f0=/^(bc1)[a-z0-9]{6,87}$/,H6=q("isBtcAddress",(Q)=>R0.test(Q)||E0.test(Q)||f0.test(Q),(Q,Z)=>{let $=Z.addRegex(R0),z=Z.addRegex(E0),I=Z.addRegex(f0);return`if (!_re[${$}].test(${Q}) && !_re[${z}].test(${Q}) && !_re[${I}].test(${Q})) ${Z.fail("isBtcAddress")};`});H6.constraints={};var d0=new Set(["AED","AFN","ALL","AMD","ANG","AOA","ARS","AUD","AWG","AZN","BAM","BBD","BDT","BGN","BHD","BIF","BMD","BND","BOB","BOV","BRL","BSD","BTN","BWP","BYN","BZD","CAD","CDF","CHE","CHF","CHW","CLF","CLP","CNY","COP","COU","CRC","CUC","CUP","CVE","CZK","DJF","DKK","DOP","DZD","EGP","ERN","ETB","EUR","FJD","FKP","GBP","GEL","GHS","GIP","GMD","GNF","GTQ","GYD","HKD","HNL","HRK","HTG","HUF","IDR","ILS","INR","IQD","IRR","ISK","JMD","JOD","JPY","KES","KGS","KHR","KMF","KPW","KRW","KWD","KYD","KZT","LAK","LBP","LKR","LRD","LSL","LYD","MAD","MDL","MGA","MKD","MMK","MNT","MOP","MRU","MUR","MVR","MWK","MXN","MXV","MYR","MZN","NAD","NGN","NIO","NOK","NPR","NZD","OMR","PAB","PEN","PGK","PHP","PKR","PLN","PYG","QAR","RON","RSD","RUB","RWF","SAR","SBD","SCR","SDG","SEK","SGD","SHP","SLE","SLL","SOS","SRD","SSP","STN","SVC","SYP","SZL","THB","TJS","TMT","TND","TOP","TRY","TTD","TWD","TZS","UAH","UGX","USD","USN","UYI","UYU","UYW","UZS","VED","VES","VND","VUV","WST","XAF","XAG","XAU","XBA","XBB","XBC","XBD","XCD","XDR","XOF","XPD","XPF","XPT","XSU","XTS","XUA","YER","ZAR","ZMW","ZWL"]),P6=q("isISO4217CurrencyCode",(Q)=>d0.has(Q),(Q,Z)=>{return`if (!_refs[${Z.addRef(d0)}].has(${Q})) ${Z.fail("isISO4217CurrencyCode")};`});P6.constraints={};var _0=/^\+[1-9]\d{6,14}$/,D6=q("isPhoneNumber",(Q)=>_0.test(Q),(Q,Z)=>{return`if (!_re[${Z.addRegex(_0)}].test(${Q})) ${Z.fail("isPhoneNumber")};`});D6.constraints={};function TQ(Q){let Z=Q?.minLength??8,$=Q?.minLowercase??1,z=Q?.minUppercase??1,I=Q?.minNumbers??1,j=Q?.minSymbols??1,J=(w)=>{if(w.length<Z)return!1;if($>0){if((w.match(/[a-z]/g)||[]).length<$)return!1}if(z>0){if((w.match(/[A-Z]/g)||[]).length<z)return!1}if(I>0){if((w.match(/[0-9]/g)||[]).length<I)return!1}if(j>0){if((w.match(/[^a-zA-Z0-9]/g)||[]).length<j)return!1}return!0},Y=(w)=>{if(typeof w!=="string")return!1;return J(w)};return Y.emit=(w,G)=>{return`if (!_refs[${G.addRef(J)}](${w})) ${G.fail("isStrongPassword")};`},Y.ruleName="isStrongPassword",Y.requiresType="string",Y.constraints={},Y}var TZ={US:/^\d{2}-\d{7}$/,KR:/^\d{3}-\d{2}-\d{5}$/,DE:/^\d{11}$/,FR:/^[0-9]{13}$/,GB:/^\d{10}$/,IT:/^[A-Z]{6}\d{2}[A-Z]\d{2}[A-Z]\d{3}[A-Z]$/i,ES:/^[0-9A-Z]\d{7}[0-9A-Z]$/i,AU:/^\d{11}$/,CA:/^\d{9}$/,IN:/^[A-Z]{5}\d{4}[A-Z]$/i};function LQ(Q){let Z=TZ[Q],$=(z)=>{if(typeof z!=="string")return!1;if(!Z)return!1;return Z.test(z)};return $.emit=(z,I)=>{if(!Z)return I.fail("isTaxId")+";";return`if (!_re[${I.addRegex(Z)}].test(${z})) ${I.fail("isTaxId")};`},$.ruleName="isTaxId",$.requiresType="string",$.constraints={},$}function LZ(Q,Z){return($,z)=>{K($,z,{rule:k0(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function OZ(Q,Z){return($,z)=>{K($,z,{rule:y0(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function AZ(Q,Z,$){return(z,I)=>{K(z,I,{rule:g0(Q,Z),each:$?.each,groups:$?.groups,message:$?.message,context:$?.context})}}function VZ(Q,Z){return($,z)=>{K($,z,{rule:N0(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function SZ(Q,Z){return($,z)=>{K($,z,{rule:x0(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function RZ(Q,Z,$){return(z,I)=>{K(z,I,{rule:u0(Q,Z),each:$?.each,groups:$?.groups,message:$?.message,context:$?.context})}}function EZ(Q){return(Z,$)=>{K(Z,$,{rule:m0,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function fZ(Q){return(Z,$)=>{K(Z,$,{rule:v0,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function dZ(Q){return(Z,$)=>{K(Z,$,{rule:p,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function _Z(Q){return(Z,$)=>{K(Z,$,{rule:r0,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function kZ(Q){return(Z,$)=>{K(Z,$,{rule:p0,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function yZ(Q){return(Z,$)=>{K(Z,$,{rule:s0,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function gZ(Q,Z){return($,z)=>{K($,z,{rule:n0(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function NZ(Q,Z){return($,z)=>{K($,z,{rule:i0(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function xZ(Q){return(Z,$)=>{K(Z,$,{rule:s,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function uZ(Q){return(Z,$)=>{K(Z,$,{rule:n,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function mZ(Q){return(Z,$)=>{K(Z,$,{rule:i,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function vZ(Q){return(Z,$)=>{K(Z,$,{rule:a,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function cZ(Q){return(Z,$)=>{K(Z,$,{rule:e,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function rZ(Q){return(Z,$)=>{K(Z,$,{rule:o,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function lZ(Q){return(Z,$)=>{K(Z,$,{rule:t,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function pZ(Q,Z){return($,z)=>{K($,z,{rule:a0(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function sZ(Q,Z){return($,z)=>{K($,z,{rule:e0(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function nZ(Q,Z){return($,z)=>{K($,z,{rule:o0(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function iZ(Q,Z){return($,z)=>{K($,z,{rule:t0(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function aZ(Q){return(Z,$)=>{K(Z,$,{rule:Q6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function eZ(Q,Z){return($,z)=>{K($,z,{rule:QQ(Q??!1),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function oZ(Q){return(Z,$)=>{K(Z,$,{rule:Z6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function tZ(Q,Z){return($,z)=>{K($,z,{rule:ZQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function Q$(Q,Z){return($,z)=>{K($,z,{rule:$Q(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function Z$(Q){return(Z,$)=>{K(Z,$,{rule:$6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function $$(Q,Z){return($,z)=>{K($,z,{rule:zQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function z$(Q){return(Z,$)=>{K(Z,$,{rule:z6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function I$(Q,Z){return($,z)=>{K($,z,{rule:IQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function K$(Q){return(Z,$)=>{K(Z,$,{rule:I6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function j$(Q,Z){return($,z)=>{K($,z,{rule:KQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function J$(Q){return(Z,$)=>{K(Z,$,{rule:K6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function q$(Q){return(Z,$)=>{K(Z,$,{rule:j6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function Y$(Q,Z){return($,z)=>{K($,z,{rule:jQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function w$(Q){return(Z,$)=>{K(Z,$,{rule:J6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function W$(Q){return(Z,$)=>{K(Z,$,{rule:q6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function G$(Q){return(Z,$)=>{K(Z,$,{rule:qQ,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function X$(Q){return(Z,$)=>{K(Z,$,{rule:wQ,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function b$(Q){return(Z,$)=>{K(Z,$,{rule:Y6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function F$(Q){return(Z,$)=>{K(Z,$,{rule:w6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function M$(Q){return(Z,$)=>{K(Z,$,{rule:W6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function U$(Q){return(Z,$)=>{K(Z,$,{rule:G6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function B$(Q){return(Z,$)=>{K(Z,$,{rule:WQ,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function H$(Q,Z){return($,z)=>{K($,z,{rule:GQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function P$(Q){return(Z,$)=>{K(Z,$,{rule:X6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function D$(Q,Z){return($,z)=>{K($,z,{rule:XQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function h$(Q,Z){return($,z)=>{K($,z,{rule:bQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function C$(Q){return(Z,$)=>{K(Z,$,{rule:b6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function T$(Q,Z){return($,z)=>{K($,z,{rule:FQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function L$(Q){return(Z,$)=>{K(Z,$,{rule:F6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function O$(Q){return(Z,$)=>{K(Z,$,{rule:MQ,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function A$(Q,Z){return($,z)=>{K($,z,{rule:UQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function V$(Q,Z,$){return(z,I)=>{K(z,I,{rule:BQ(Q,Z),each:$?.each,groups:$?.groups,message:$?.message,context:$?.context})}}function S$(Q,Z){return($,z)=>{K($,z,{rule:HQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function R$(Q){return(Z,$)=>{K(Z,$,{rule:M6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function E$(Q){return(Z,$)=>{K(Z,$,{rule:U6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function f$(Q){return(Z,$)=>{K(Z,$,{rule:DQ,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function d$(Q){return(Z,$)=>{K(Z,$,{rule:CQ,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function _$(Q){return(Z,$)=>{K(Z,$,{rule:B6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function k$(Q){return(Z,$)=>{K(Z,$,{rule:H6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function y$(Q){return(Z,$)=>{K(Z,$,{rule:P6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function g$(Q){return(Z,$)=>{K(Z,$,{rule:D6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function N$(Q,Z){return($,z)=>{K($,z,{rule:TQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function x$(Q,Z){return($,z)=>{K($,z,{rule:LQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function OQ(Q){let Z=($)=>{if(!Array.isArray($))return!1;return Q.every((z)=>$.includes(z))};return Z.emit=($,z)=>{return`if (!_refs[${z.addRef(Q)}].every(function(v){return ${$}.indexOf(v)!==-1;})) ${z.fail("arrayContains")};`},Z.ruleName="arrayContains",Z.constraints={values:Q},Z}function AQ(Q){let Z=($)=>{if(!Array.isArray($))return!1;return Q.every((z)=>!$.includes(z))};return Z.emit=($,z)=>{return`if (_refs[${z.addRef(Q)}].some(function(v){return ${$}.indexOf(v)!==-1;})) ${z.fail("arrayNotContains")};`},Z.ruleName="arrayNotContains",Z.constraints={values:Q},Z}function VQ(Q){let Z=($)=>Array.isArray($)&&$.length>=Q;return Z.emit=($,z)=>`if (${$}.length < ${Q}) ${z.fail("arrayMinSize")};`,Z.ruleName="arrayMinSize",Z.constraints={min:Q},Z}function SQ(Q){let Z=($)=>Array.isArray($)&&$.length<=Q;return Z.emit=($,z)=>`if (${$}.length > ${Q}) ${z.fail("arrayMaxSize")};`,Z.ruleName="arrayMaxSize",Z.constraints={max:Q},Z}function RQ(Q){let Z=($)=>{if(!Array.isArray($))return!1;if(Q){let z=$.map(Q);return new Set(z).size===z.length}return new Set($).size===$.length};return Z.emit=($,z)=>{if(Q){let I=z.addRef(Q);return`{var _keys=${$}.map(_refs[${I}]);if(new Set(_keys).size!==_keys.length)${z.fail("arrayUnique")};}`}return`if(new Set(${$}).size!==${$}.length)${z.fail("arrayUnique")};`},Z.ruleName="arrayUnique",Z.constraints={},Z}var u=(Q)=>Array.isArray(Q)&&Q.length>0;u.emit=(Q,Z)=>`if (${Q}.length === 0) ${Z.fail("arrayNotEmpty")};`;u.ruleName="arrayNotEmpty";u.constraints={};var EQ=u;function u$(Q,Z){return($,z)=>{K($,z,{rule:OQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function m$(Q,Z){return($,z)=>{K($,z,{rule:AQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function v$(Q,Z){return($,z)=>{K($,z,{rule:VQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function c$(Q,Z){return($,z)=>{K($,z,{rule:SQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function r$(Q,Z){return($,z)=>{K($,z,{rule:RQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function l$(Q){return(Z,$)=>{K(Z,$,{rule:EQ,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function fQ(Q){let Z=($)=>{if($===null||typeof $!=="object"||Array.isArray($))return!1;let z=Object.keys($);if(Q?.nullable)return z.some((I)=>$[I]!=null);return z.length>0};return Z.emit=($,z)=>{if(Q?.nullable)return`if (!_refs[${z.addRef(Z)}](${$})) ${z.fail("isNotEmptyObject")};`;return`if (Object.keys(${$}).length === 0) ${z.fail("isNotEmptyObject")};`},Z.ruleName="isNotEmptyObject",Z.constraints={nullable:Q?.nullable},Z}function dQ(Q){let Z=($)=>$ instanceof Q;return Z.emit=($,z)=>{let I=z.addRef(Q);return`if (!(${$} instanceof _refs[${I}])) ${z.fail("isInstance")};`},Z.ruleName="isInstance",Z.constraints={type:Q.name},Z}function p$(Q,Z){return($,z)=>{K($,z,{rule:fQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function s$(Q,Z){return($,z)=>{K($,z,{rule:dQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function n$(Q){return(Z,$)=>{C6(Z,$,Q??{})}}function i$(Q){return(Z,$)=>{T6(Z,$,Q??{})}}function a$(Q,Z){return($,z)=>{h6($,z,{fn:Q,options:Z?{groups:Z.groups,deserializeOnly:Z.deserializeOnly,serializeOnly:Z.serializeOnly}:void 0})}}function e$(Q,Z){return($,z)=>{O($,z,{fn:Q,discriminator:Z?.discriminator,keepDiscriminatorProperty:Z?.keepDiscriminatorProperty})}}function o$(Q){return(Z,$)=>{if($!==void 0)L6(Z,$,Q);else{if(typeof Q==="function")throw Error("@Schema(fn) function form is not supported at class level");O6(Z,Q)}}}var t$={"ko-KR":/^(\+?82|0)1[016789]\d{7,8}$/,"en-US":/^\+?1?[2-9]\d{2}[2-9]\d{6}$/,"zh-CN":/^(\+?86)?1[3-9]\d{9}$/,"zh-TW":/^(\+?886)?9\d{8}$/,"ja-JP":/^(\+?81)?0?[789]0[0-9]{8}$/,"de-DE":/^(\+?49)?1(5\d|6[0-9]|7[0-9])\d{8}$/,"fr-FR":/^(\+?33)?[67]\d{8}$/,"en-GB":/^(\+?44)?7[1-9]\d{8}$/,"ru-RU":/^(\+?7)?9\d{9}$/,"pt-BR":/^(\+?55)?[1-9]{2}9?\d{8}$/,"in-IN":/^(\+?91)?[6-9]\d{9}$/,"ar-SA":/^(\+?966)?5\d{8}$/,"ar-EG":/^(\+?20)?1[0125]\d{8}$/,"vi-VN":/^(\+?84)?[35789]\d{8}$/,"th-TH":/^(\+?66)?[689]\d{8}$/,"id-ID":/^(\+?62)?8\d{9,11}$/,"ms-MY":/^(\+?60)?1\d{8,9}$/,"nl-NL":/^(\+?31)?6\d{8}$/,"it-IT":/^(\+?39)?3\d{9}$/,"es-ES":/^(\+?34)?[67]\d{8}$/,"pl-PL":/^(\+?48)?[45789]\d{8}$/};function _Q(Q){let Z=t$[Q],$=(z)=>{if(typeof z!=="string")return!1;if(!Z)return!1;return Z.test(z)};return $.emit=(z,I)=>{if(!Z)return I.fail("isMobilePhone")+";";return`if (!_re[${I.addRegex(Z)}].test(${z})) ${I.fail("isMobilePhone")};`},$.ruleName="isMobilePhone",$.requiresType="string",$.constraints={locale:Q},$}var Q8={AD:/^AD\d{3}$/,AT:/^\d{4}$/,AU:/^\d{4}$/,AZ:/^\d{4}$/,BE:/^\d{4}$/,BG:/^\d{4}$/,BR:/^\d{5}-?\d{3}$/,BY:/^\d{6}$/,CA:/^[ABCEGHJKLMNPRSTVXY]\d[ABCEGHJ-NPRSTV-Z] ?\d[ABCEGHJ-NPRSTV-Z]\d$/i,CH:/^\d{4}$/,CN:/^\d{6}$/,CZ:/^\d{3} ?\d{2}$/,DE:/^\d{5}$/,DK:/^\d{4}$/,EE:/^\d{5}$/,ES:/^\d{5}$/,FI:/^\d{5}$/,FR:/^\d{2} ?\d{3}$/,GB:/^(GIR ?0AA|[A-PR-UWYZ]([0-9]{1,2}|([A-HK-Y][0-9]([0-9ABEHMNPRV-Y])?)|[0-9][A-HJKPSTUW]) ?[0-9][ABD-HJLNP-UW-Z]{2})$/i,GR:/^\d{3} ?\d{2}$/,HR:/^\d{5}$/,HU:/^\d{4}$/,ID:/^\d{5}$/,IL:/^\d{5}(\d{2})?$/,IN:/^\d{6}$/,IS:/^\d{3}$/,IT:/^\d{5}$/,JP:/^\d{3}-?\d{4}$/,KR:/^\d{5}$/,LI:/^(948[5-9]|949[0-7])$/,LT:/^LT-\d{5}$/,LU:/^\d{4}$/,LV:/^LV-\d{4}$/,MX:/^\d{5}$/,MT:/^[A-Z]{3} ?\d{4}$/i,MZ:/^\d{4}$/,NL:/^\d{4} ?[A-Z]{2}$/i,NO:/^\d{4}$/,NP:/^\d{5}$/,NZ:/^\d{4}$/,PH:/^\d{4}$/,PK:/^\d{5}$/,PL:/^\d{2}-\d{3}$/,PR:/^009\d{2}([ -]\d{4})?$/,PT:/^\d{4}-\d{3}$/,RO:/^\d{6}$/,RU:/^\d{6}$/,SE:/^\d{3} ?\d{2}$/,SG:/^\d{6}$/,SI:/^\d{4}$/,SK:/^\d{3} ?\d{2}$/,TH:/^\d{5}$/,TN:/^\d{4}$/,TW:/^\d{3}(\d{2})?$/,UA:/^\d{5}$/,US:/^\d{5}(-\d{4})?$/,ZA:/^\d{4}$/,ZM:/^\d{5}$/};function kQ(Q){let Z=Q8[Q],$=(z)=>{if(typeof z!=="string")return!1;if(!Z)return!1;return Z.test(z)};return $.emit=(z,I)=>{if(!Z)return I.fail("isPostalCode")+";";return`if (!_re[${I.addRegex(Z)}].test(${z})) ${I.fail("isPostalCode")};`},$.ruleName="isPostalCode",$.requiresType="string",$.constraints={locale:Q},$}var Z8={AF:/^\d{8}$/,AL:/^[A-Z]\d{8}[A-Z]$/i,AR:/^\d{7,8}$/,AZ:/^AZE\d{8}$/,BE:/^\d{11}$/,BG:/^\d{10}$/,BR:/^\d{9}$/,BY:/^[A-Z]{2}\d{7}$/i,CA:/^\d{9}$/,CH:/^756\d{10}$/,CN:/^\d{15}(\d{2}[0-9xX])?$/,CY:/^\d{7}[A-Z]$/i,CZ:/^\d{9,10}$/,DE:/^[LI TOUAEVBMNPRSZDFGHCK]{9}$/i,DK:/^\d{10}$/,EE:/^\d{11}$/,ES:/^[0-9X-Z]\d{7}[TRWAGMYFPDXBNJZSQVHLCKE]$/i,FI:/^\d{6}[+-A]\d{3}[0-9A-FHJ-NPR-Y]$/,FR:/^\d{8,9}[0-9\u00C1-\u00FF]{1}$/i,GB:/^[A-Z]{2}\d{6}[A-Z]$/i,GR:/^[A-Z]{2}\d{6}$/i,HR:/^\d{11}$/,HU:/^\d{8}[A-Z]{2}$/i,ID:/^\d{16}$/,IE:/^\d{7}[A-W][A-W]?$/,IL:/^\d{9}$/,IN:/^\d{12}$/,IR:/^\d{10}$/,IS:/^\d{10}$/,IT:/^[A-Z]{6}\d{2}[A-Z]\d{2}[A-Z]\d{3}[A-Z]$/i,JP:/^\d{12}$/,KR:/^\d{6}-\d{7}$/,LT:/^\d{11}$/,LU:/^\d{13}$/,LV:/^\d{6}-\d{5}$/,MK:/^\d{13}$/,MX:/^[A-Z]{4}\d{6}[HM][A-Z]{2}[B-DF-HJ-NP-TV-Z]{3}[A-Z0-9]\d$/i,MT:/^\d{7}[A-Z]$/i,NL:/^\d{9}$/,NO:/^\d{11}$/,PL:/^\d{11}$/,PT:/^[1-9]\d{7}[0-9TV]$/i,RO:/^\d{13}$/,RS:/^\d{13}$/,RU:/^\d{10}$/,SE:/^\d{10,12}$/,SI:/^\d{13}$/,SK:/^\d{9,10}$/,TH:/^\d{13}$/,TR:/^\d{11}$/,TW:/^[A-Z]\d{9}$/i,UA:/^\d{9}$/,US:/^\d{3}-\d{2}-\d{4}$/,ZA:/^\d{13}$/};function yQ(Q){let Z=Z8[Q],$=(z)=>{if(typeof z!=="string")return!1;if(!Z)return!1;return Z.test(z)};return $.emit=(z,I)=>{if(!Z)return I.fail("isIdentityCard")+";";return`if (!_re[${I.addRegex(Z)}].test(${z})) ${I.fail("isIdentityCard")};`},$.ruleName="isIdentityCard",$.requiresType="string",$.constraints={locale:Q},$}var $8={AM:/^[A-Z]{2}\d{7}$/i,AR:/^[A-Z]{3}\d{6}$/i,AT:/^[A-Z]\d{7}$/i,AU:/^[A-Z]\d{7}$/i,AZ:/^[Aa]\d{8}$/,BE:/^[A-Z]{2}\d{6}$/i,BG:/^\d{9}$/,BH:/^[A-Z]{2}\d{6}$/i,BR:/^[A-Z]{2}\d{6}$/i,BY:/^[A-Z]{2}\d{7}$/i,CA:/^[A-Z]{2}\d{6}$/i,CH:/^[A-Z]\d{7}$/i,CN:/^G\d{8}$/,CY:/^[A-Z](\d{6}|\d{8})$/i,CZ:/^\d{8}$/,DE:/^[CFGHJKLMNPRTVWXYZ0-9]{9}$/i,DK:/^\d{9}$/,EE:/^([A-Z]\d{7}|[A-Z]{2}\d{7})$/i,ES:/^[A-Z0-9]{2}([A-Z0-9]?)\d{6}$/i,FI:/^[A-Z]{2}\d{7}$/i,FR:/[A-Z0-9]{9}/i,GB:/^\d{9}$/,GR:/^[A-Z]{2}\d{7}$/i,HR:/^\d{9}$/,HU:/^[A-Z]{2}(\d{6}|\d{7})$/i,ID:/^[A-C]\d{7}$/i,IE:/^[A-Z0-9]{2}\d{7}$/i,IL:/^\d{9}$/,IN:/^[A-Z]\d{7}$/i,IR:/^[A-Z]\d{8}$/i,IS:/^(A)\d{7}$/i,IT:/^[A-Z0-9]{9}$/i,JO:/^[A-Z]{2}\d{7}$/i,JP:/^[A-Z]{2}\d{7}$/i,KR:/^[A-Z][A-Z0-9]\d{7}$/i,KW:/^\d{8}$/,KZ:/^[A-Z]\d{8}$/i,LI:/^[A-Z]\d{6}X$/i,LT:/^[A-Z0-9]{8}$/i,LU:/^[A-Z0-9]{8}$/i,LV:/^[A-Z0-9]{2}\d{7}$/i,LY:/^[A-Z]{2}\d{7}$/i,MA:/^[A-Z0-9]{2}\d{7}$/i,MD:/^[A-Z]{2}\d{7}$/i,ME:/^[A-Z]{2}\d{7}$/i,MK:/^[A-Z]\d{7}$/i,MT:/^\d{7}$/,MX:/^[A-Z]\d{8}$/i,MY:/^[AHK]\d{8}[A-Z]$/i,NL:/^[A-NP-Z]{2}[A-NP-Z0-9]{6}\d$/i,NO:/^\d{9}$/,NZ:/^[A-Z]{2}\d{6}$/i,PH:/^[A-Z]\d{7}[A-Z]$/i,PK:/^[A-Z]{2}\d{7}$/i,PL:/^[A-Z]{2}\d{7}$/i,PT:/^[A-Z]\d{6}$/i,RO:/^\d{8}$/,RS:/^\d{9}$/,RU:/^\d{9}$/,SA:/^[A-Z]\d{8}$/i,SE:/^\d{8}$/,SL:/^(P)[A-Z]\d{7}$/i,SK:/^[0-9A-Z]\d{7}$/i,TH:/^[A-Z]{1,2}\d{6,7}$/i,TN:/^\d{8}$/,TR:/^[A-Z]\d{8}$/i,TW:/^[A-Z]\d{9}$/i,UA:/^[A-Z]{2}\d{6}$/i,US:/^\d{9}$/,ZA:/^[A-Z]\d{8}$/i};function gQ(Q){let Z=$8[Q],$=(z)=>{if(typeof z!=="string")return!1;if(!Z)return!1;return Z.test(z)};return $.emit=(z,I)=>{if(!Z)return I.fail("isPassportNumber")+";";return`if (!_re[${I.addRegex(Z)}].test(${z})) ${I.fail("isPassportNumber")};`},$.ruleName="isPassportNumber",$.requiresType="string",$.constraints={locale:Q},$}function z8(Q,Z){return($,z)=>{K($,z,{rule:_Q(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function I8(Q,Z){return($,z)=>{K($,z,{rule:kQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function K8(Q,Z){return($,z)=>{K($,z,{rule:yQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function j8(Q,Z){return($,z)=>{K($,z,{rule:gQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}export{NQ as a,xQ as b,uQ as c,mQ as d,vQ as e,cQ as f,rQ as g,lQ as h,pQ as i,sQ as j,nQ as k,iQ as l,aQ as m,eQ as n,oQ as o,tQ as p,QZ as q,ZZ as r,$Z as s,zZ as t,IZ as u,KZ as v,jZ as w,JZ as x,qZ as y,YZ as z,wZ as A,LZ as B,OZ as C,AZ as D,VZ as E,SZ as F,RZ as G,EZ as H,fZ as I,dZ as J,_Z as K,kZ as L,yZ as M,gZ as N,NZ as O,xZ as P,uZ as Q,mZ as R,vZ as S,cZ as T,rZ as U,lZ as V,pZ as W,sZ as X,nZ as Y,iZ as Z,aZ as _,eZ as $,oZ as aa,tZ as ba,Q$ as ca,Z$ as da,$$ as ea,z$ as fa,I$ as ga,K$ as ha,j$ as ia,J$ as ja,q$ as ka,Y$ as la,w$ as ma,W$ as na,G$ as oa,X$ as pa,b$ as qa,F$ as ra,M$ as sa,U$ as ta,B$ as ua,H$ as va,P$ as wa,D$ as xa,h$ as ya,C$ as za,T$ as Aa,L$ as Ba,O$ as Ca,A$ as Da,V$ as Ea,S$ as Fa,R$ as Ga,E$ as Ha,f$ as Ia,d$ as Ja,_$ as Ka,k$ as La,y$ as Ma,g$ as Na,N$ as Oa,x$ as Pa,u$ as Qa,m$ as Ra,v$ as Sa,c$ as Ta,r$ as Ua,l$ as Va,p$ as Wa,s$ as Xa,n$ as Ya,i$ as Za,a$ as _a,e$ as $a,o$ as ab,z8 as bb,I8 as cb,K8 as db,j8 as eb};
12
-
13
- //# debugId=AA223C1C9EEBEA8B64756E2164756E21
14
- //# sourceMappingURL=index-jzjz61tg.js.map