@zipbul/baker 0.1.2 → 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.
- package/README.ko.md +368 -280
- package/README.md +369 -281
- package/dist/index-57gr0v18.js +6 -0
- package/dist/index-aegrb1kn.js +6 -0
- package/dist/index-xdn55cz3.js +4 -0
- package/dist/index.d.ts +6 -5
- package/dist/index.js +151 -152
- package/dist/src/configure.d.ts +33 -0
- package/dist/src/create-rule.d.ts +6 -15
- package/dist/src/decorators/field.d.ts +74 -0
- package/dist/src/decorators/index.d.ts +2 -14
- package/dist/src/decorators/index.js +2 -2
- package/dist/src/functions/deserialize.d.ts +2 -1
- package/dist/src/functions/serialize.d.ts +2 -2
- package/dist/src/functions/to-json-schema.d.ts +6 -0
- package/dist/src/interfaces.d.ts +5 -26
- package/dist/src/registry.d.ts +0 -8
- package/dist/src/rules/index.d.ts +2 -0
- package/dist/src/rules/index.js +11 -2
- package/dist/src/seal/circular-analyzer.d.ts +2 -6
- package/dist/src/seal/index.d.ts +1 -1
- package/dist/src/seal/seal.d.ts +21 -6
- package/dist/src/symbols.js +2 -2
- package/dist/src/types.d.ts +7 -7
- package/dist/src/utils.d.ts +2 -0
- package/package.json +1 -1
- package/dist/index-3gcf6hkv.js +0 -5
- package/dist/index-mx6gnk4h.js +0 -6
- package/dist/index-wy5sh2nx.js +0 -15
- package/dist/src/decorators/array.d.ts +0 -13
- package/dist/src/decorators/common.d.ts +0 -39
- package/dist/src/decorators/date.d.ts +0 -5
- package/dist/src/decorators/locales.d.ts +0 -9
- package/dist/src/decorators/nested.d.ts +0 -17
- package/dist/src/decorators/number.d.ts +0 -15
- package/dist/src/decorators/object.d.ts +0 -9
- package/dist/src/decorators/schema.d.ts +0 -13
- package/dist/src/decorators/string.d.ts +0 -72
- package/dist/src/decorators/transform.d.ts +0 -68
- package/dist/src/decorators/typechecker.d.ts +0 -18
package/dist/index-wy5sh2nx.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
function TQ(z){let Q=(Z)=>Z===z;return Q.emit=(Z,$)=>{let K=$.addRef(z);return`if (${Z} !== _refs[${K}]) ${$.fail("equals")};`},Q.ruleName="equals",Q.constraints={value:z},Q}function gQ(z){let Q=(Z)=>Z!==z;return Q.emit=(Z,$)=>{let K=$.addRef(z);return`if (${Z} === _refs[${K}]) ${$.fail("notEquals")};`},Q.ruleName="notEquals",Q.constraints={value:z},Q}var P=(z)=>z===void 0||z===null||z==="";P.emit=(z,Q)=>`if (${z} !== undefined && ${z} !== null && ${z} !== '') ${Q.fail("isEmpty")};`;P.ruleName="isEmpty";P.constraints={};var LQ=P,C=(z)=>z!==void 0&&z!==null&&z!=="";C.emit=(z,Q)=>`if (${z} === undefined || ${z} === null || ${z} === '') ${Q.fail("isNotEmpty")};`;C.ruleName="isNotEmpty";C.constraints={};var AQ=C;function IQ(z){let Q=new Set(z),Z=($)=>Q.has($);return Z.emit=($,K)=>{return`if (!_refs[${K.addRef(Q)}].has(${$})) ${K.fail("isIn")};`},Z.ruleName="isIn",Z.constraints={values:z},Z}function dQ(z){let Q=new Set(z),Z=($)=>!Q.has($);return Z.emit=($,K)=>{return`if (_refs[${K.addRef(Q)}].has(${$})) ${K.fail("isNotIn")};`},Z.ruleName="isNotIn",Z.constraints={values:z},Z}var y=(z)=>typeof z==="string";y.emit=(z,Q)=>`if (typeof ${z} !== 'string') ${Q.fail("isString")};`;y.ruleName="isString";y.constraints={};var pQ=y;function RQ(z){let Q=z?.allowNaN??!1,Z=z?.allowInfinity??!1,$=z?.maxDecimalPlaces,K=(j)=>{if(typeof j!=="number")return!1;if(isNaN(j))return Q;if(!isFinite(j))return Z;if($!==void 0){let J=j.toString(),w=J.indexOf(".");if(w!==-1&&J.length-w-1>$)return!1}return!0};return K.emit=(j,J)=>{let w=`if (typeof ${j} !== 'number') ${J.fail("isNumber")};`;if(!Q)w+=`
|
|
3
|
-
else if (isNaN(${j})) ${J.fail("isNumber")};`;if(!Z)w+=`
|
|
4
|
-
else if (${j} === Infinity || ${j} === -Infinity) ${J.fail("isNumber")};`;if($!==void 0)w+=`
|
|
5
|
-
else { var _s=${j}.toString(); var _d=_s.indexOf('.'); if(_d!==-1&&_s.length-_d-1>${$}) ${J.fail("isNumber")}; }`;return w},K.ruleName="isNumber",K.constraints={allowNaN:z?.allowNaN,allowInfinity:z?.allowInfinity,maxDecimalPlaces:z?.maxDecimalPlaces},K}var O=(z)=>typeof z==="boolean";O.emit=(z,Q)=>`if (typeof ${z} !== 'boolean') ${Q.fail("isBoolean")};`;O.ruleName="isBoolean";O.constraints={};var EQ=O,T=(z)=>z instanceof Date&&!isNaN(z.getTime());T.emit=(z,Q)=>`if (!(${z} instanceof Date) || isNaN(${z}.getTime())) ${Q.fail("isDate")};`;T.ruleName="isDate";T.constraints={};var fQ=T;function oQ(z){let Q=Object.values(z),Z=($)=>Q.indexOf($)!==-1;return Z.emit=($,K)=>{return`if (_refs[${K.addRef(Q)}].indexOf(${$}) === -1) ${K.fail("isEnum")};`},Z.ruleName="isEnum",Z.constraints={values:Object.values(z)},Z}var b=(z)=>typeof z==="number"&&Number.isInteger(z);b.emit=(z,Q)=>`if (typeof ${z} !== 'number' || !Number.isInteger(${z})) ${Q.fail("isInt")};`;b.ruleName="isInt";b.requiresType="number";b.constraints={};var _Q=b,g=(z)=>Array.isArray(z);g.emit=(z,Q)=>`if (!Array.isArray(${z})) ${Q.fail("isArray")};`;g.ruleName="isArray";g.constraints={};var NQ=g,L=(z)=>typeof z==="object"&&z!==null&&!Array.isArray(z);L.emit=(z,Q)=>`if (typeof ${z} !== 'object' || ${z} === null || Array.isArray(${z})) ${Q.fail("isObject")};`;L.ruleName="isObject";L.constraints={};var sQ=L;function xQ(z,Q){let Z=Q?.exclusive??!1,$=Z?(K)=>K>z:(K)=>K>=z;return $.emit=(K,j)=>Z?`if (${K} <= ${z}) ${j.fail("min")};`:`if (${K} < ${z}) ${j.fail("min")};`,$.ruleName="min",$.requiresType="number",$.constraints=Z?{min:z,exclusive:!0}:{min:z},$}function mQ(z,Q){let Z=Q?.exclusive??!1,$=Z?(K)=>K<z:(K)=>K<=z;return $.emit=(K,j)=>Z?`if (${K} >= ${z}) ${j.fail("max")};`:`if (${K} > ${z}) ${j.fail("max")};`,$.ruleName="max",$.requiresType="number",$.constraints=Z?{max:z,exclusive:!0}:{max:z},$}var V=(z)=>z>0;V.emit=(z,Q)=>`if (${z} <= 0) ${Q.fail("isPositive")};`;V.ruleName="isPositive";V.requiresType="number";V.constraints={min:0,exclusive:!0};var iQ=V,G=(z)=>z<0;G.emit=(z,Q)=>`if (${z} >= 0) ${Q.fail("isNegative")};`;G.ruleName="isNegative";G.requiresType="number";G.constraints={max:0,exclusive:!0};var cQ=G;function lQ(z){let Q=(Z)=>Z%z===0;return Q.emit=(Z,$)=>`if (${Z} % ${z} !== 0) ${$.fail("isDivisibleBy")};`,Q.ruleName="isDivisibleBy",Q.requiresType="number",Q.constraints={divisor:z},Q}function rQ(z){let Q=z.getTime(),Z=($)=>$ instanceof Date&&$.getTime()>=Q;return Z.emit=($,K)=>{let j=K.addRef(Q);return`if (!(${$} instanceof Date) || ${$}.getTime() < _refs[${j}]) ${K.fail("minDate")};`},Z.ruleName="minDate",Z.requiresType="date",Z.constraints={min:z.toISOString()},Z}function tQ(z){let Q=z.getTime(),Z=($)=>$ instanceof Date&&$.getTime()<=Q;return Z.emit=($,K)=>{let j=K.addRef(Q);return`if (!(${$} instanceof Date) || ${$}.getTime() > _refs[${j}]) ${K.fail("maxDate")};`},Z.ruleName="maxDate",Z.requiresType="date",Z.constraints={max:z.toISOString()},Z}function q(z,Q,Z,$="string"){let K=(j)=>{if(typeof j!=="string")return!1;return Q(j)};if(K.emit=Z,K.ruleName=z,$!==void 0)K.requiresType=$;return K}function eQ(z){let Q=(Z)=>typeof Z==="string"&&Z.length>=z;return Q.emit=(Z,$)=>`if (${Z}.length < ${z}) ${$.fail("minLength")};`,Q.ruleName="minLength",Q.requiresType="string",Q.constraints={min:z},Q}function aQ(z){let Q=(Z)=>typeof Z==="string"&&Z.length<=z;return Q.emit=(Z,$)=>`if (${Z}.length > ${z}) ${$.fail("maxLength")};`,Q.ruleName="maxLength",Q.requiresType="string",Q.constraints={max:z},Q}function zZ(z,Q){let Z=($)=>typeof $==="string"&&$.length>=z&&$.length<=Q;return Z.emit=($,K)=>`if (${$}.length < ${z} || ${$}.length > ${Q}) ${K.fail("length")};`,Z.ruleName="length",Z.requiresType="string",Z.constraints={min:z,max:Q},Z}function QZ(z){let Q=(Z)=>typeof Z==="string"&&Z.includes(z);return Q.emit=(Z,$)=>{let K=$.addRef(z);return`if (${Z}.indexOf(_refs[${K}]) === -1) ${$.fail("contains")};`},Q.ruleName="contains",Q.requiresType="string",Q.constraints={seed:z},Q}function ZZ(z){let Q=(Z)=>typeof Z==="string"&&!Z.includes(z);return Q.emit=(Z,$)=>{let K=$.addRef(z);return`if (${Z}.indexOf(_refs[${K}]) !== -1) ${$.fail("notContains")};`},Q.ruleName="notContains",Q.requiresType="string",Q.constraints={seed:z},Q}function $Z(z,Q){let Z=z instanceof RegExp?z:new RegExp(z,Q),$=(K)=>typeof K==="string"&&Z.test(K);return $.emit=(K,j)=>{return`if (!_re[${j.addRegex(Z)}].test(${K})) ${j.fail("matches")};`},$.ruleName="matches",$.requiresType="string",$.constraints={pattern:Z.source},$}var X=(z)=>typeof z==="string"&&z===z.toLowerCase();X.emit=(z,Q)=>`if (${z} !== ${z}.toLowerCase()) ${Q.fail("isLowercase")};`;X.ruleName="isLowercase";X.requiresType="string";X.constraints={};var KZ=X,F=(z)=>typeof z==="string"&&z===z.toUpperCase();F.emit=(z,Q)=>`if (${z} !== ${z}.toUpperCase()) ${Q.fail("isUppercase")};`;F.ruleName="isUppercase";F.requiresType="string";F.constraints={};var jZ=F,_=/^[\x00-\x7F]*$/,dz=q("isAscii",(z)=>_.test(z),(z,Q)=>{return`if (!_re[${Q.addRegex(_)}].test(${z})) ${Q.fail("isAscii")};`});dz.constraints={};var Oz=/^[a-zA-Z]+$/;function Sz(z){return typeof z==="string"&&z.length>0&&Oz.test(z)}var M=function z(Q){if(Q===void 0)return z;return Sz(Q)};M.emit=(z,Q)=>{return`if (!_re[${Q.addRegex(Oz)}].test(${z})) ${Q.fail("isAlpha")};`};M.ruleName="isAlpha";M.requiresType="string";M.constraints={};var JZ=M,Tz=/^[a-zA-Z0-9]+$/;function pz(z){return typeof z==="string"&&z.length>0&&Tz.test(z)}var U=function z(Q){if(Q===void 0)return z;return pz(Q)};U.emit=(z,Q)=>{return`if (!_re[${Q.addRegex(Tz)}].test(${z})) ${Q.fail("isAlphanumeric")};`};U.ruleName="isAlphanumeric";U.requiresType="string";U.constraints={};var qZ=U,H=(z)=>z==="true"||z==="false"||z==="1"||z==="0";H.emit=(z,Q)=>`if (${z} !== 'true' && ${z} !== 'false' && ${z} !== '1' && ${z} !== '0') ${Q.fail("isBooleanString")};`;H.ruleName="isBooleanString";H.requiresType="string";H.constraints={};var wZ=H;function YZ(z){let Q=q("isNumberString",(Z)=>{if(Z.length===0)return!1;let $=Number(Z);return!isNaN($)&&isFinite($)},(Z,$)=>{let K=(J)=>{if(J.length===0)return!1;let w=Number(J);return!isNaN(w)&&isFinite(w)};return`if (!_refs[${$.addRef(K)}](${Z})) ${$.fail("isNumberString")};`});return Q.constraints={},Q}function WZ(z){let Q=/^[-+]?(?:\d+(?:\.\d*)?|\.\d+)$/,Z=q("isDecimal",($)=>Q.test($),($,K)=>{return`if (!_re[${K.addRegex(Q)}].test(${$})) ${K.fail("isDecimal")};`});return Z.constraints={},Z}var d=/[^\u0020-\u007E\uFF61-\uFF9F]/,Rz=q("isFullWidth",(z)=>z.length>0&&d.test(z),(z,Q)=>{let Z=Q.addRegex(d);return`if (${z}.length === 0 || !_re[${Z}].test(${z})) ${Q.fail("isFullWidth")};`});Rz.constraints={};var S=/[\u0020-\u007E\uFF61-\uFF9F]/,Ez=q("isHalfWidth",(z)=>z.length>0&&S.test(z),(z,Q)=>{let Z=Q.addRegex(S);return`if (${z}.length === 0 || !_re[${Z}].test(${z})) ${Q.fail("isHalfWidth")};`});Ez.constraints={};var fz=q("isVariableWidth",(z)=>d.test(z)&&S.test(z),(z,Q)=>{let Z=Q.addRegex(d),$=Q.addRegex(S);return`if (!_re[${Z}].test(${z}) || !_re[${$}].test(${z})) ${Q.fail("isVariableWidth")};`});fz.constraints={};var N=/[^\x00-\xFF]/,oz=q("isMultibyte",(z)=>z.length>0&&N.test(z),(z,Q)=>{let Z=Q.addRegex(N);return`if (${z}.length === 0 || !_re[${Z}].test(${z})) ${Q.fail("isMultibyte")};`});oz.constraints={};var s=/[\uD800-\uDBFF][\uDC00-\uDFFF]/,_z=q("isSurrogatePair",(z)=>z.length>0&&s.test(z),(z,Q)=>{let Z=Q.addRegex(s);return`if (${z}.length === 0 || !_re[${Z}].test(${z})) ${Q.fail("isSurrogatePair")};`});_z.constraints={};var u=/^[0-9a-fA-F]+$/,Nz=q("isHexadecimal",(z)=>u.test(z),(z,Q)=>{return`if (!_re[${Q.addRegex(u)}].test(${z})) ${Q.fail("isHexadecimal")};`});Nz.constraints={};var x=/^(0[oO])?[0-7]+$/,sz=q("isOctal",(z)=>z.length>0&&x.test(z),(z,Q)=>{let Z=Q.addRegex(x);return`if (${z}.length === 0 || !_re[${Z}].test(${z})) ${Q.fail("isOctal")};`});sz.constraints={};var m=/^[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 bZ(z){let Q=q("isEmail",(Z)=>m.test(Z),(Z,$)=>{return`if (!_re[${$.addRegex(m)}].test(${Z})) ${$.fail("isEmail")};`});return Q.constraints={format:"email"},Q}var uz=["http","https","ftp"];function VZ(z){let Z=(z?.protocols??uz).map((j)=>j.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|"),$=new RegExp(`^(?:${Z}):\\/\\/(?:[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]*)?$`),K=(j)=>{if(typeof j!=="string"||j.length===0)return!1;return $.test(j)};return K.emit=(j,J)=>{return`if (!_re[${J.addRegex($)}].test(${j})) ${J.fail("isURL")};`},K.ruleName="isURL",K.requiresType="string",K.constraints={format:"uri"},K}var f={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 GZ(z){let Q=z!=null?f[z]??f.all:f.all,Z=q("isUUID",($)=>Q.test($),($,K)=>{return`if (!_re[${K.addRegex(Q)}].test(${$})) ${K.fail("isUUID")};`});return Z.constraints={format:"uuid"},Z}var A=/^(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)$/,I=/^(?:[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 XZ(z){let Q=(Z)=>{if(typeof Z!=="string")return!1;if(z===4)return A.test(Z);if(z===6)return I.test(Z);return A.test(Z)||I.test(Z)};return Q.emit=(Z,$)=>{if(z===4)return`if (!_re[${$.addRegex(A)}].test(${Z})) ${$.fail("isIP")};`;if(z===6)return`if (!_re[${$.addRegex(I)}].test(${Z})) ${$.fail("isIP")};`;let K=$.addRegex(A),j=$.addRegex(I);return`if (!_re[${K}].test(${Z}) && !_re[${j}].test(${Z})) ${$.fail("isIP")};`},Q.ruleName="isIP",Q.requiresType="string",Q.constraints={version:z},Q}var i=/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/,xz=q("isHexColor",(z)=>i.test(z),(z,Q)=>{return`if (!_re[${Q.addRegex(i)}].test(${z})) ${Q.fail("isHexColor")};`});xz.constraints={};var c=/^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*\)$/,l=/^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*\)$/,n=/^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 FZ(z=!1){let Q=(Z)=>{if(typeof Z!=="string")return!1;if(z)return n.test(Z);return c.test(Z)||l.test(Z)};return Q.emit=(Z,$)=>{if(z)return`if (!_re[${$.addRegex(n)}].test(${Z})) ${$.fail("isRgbColor")};`;let K=$.addRegex(c),j=$.addRegex(l);return`if (!_re[${K}].test(${Z}) && !_re[${j}].test(${Z})) ${$.fail("isRgbColor")};`},Q.ruleName="isRgbColor",Q.requiresType="string",Q.constraints={},Q}var r=/^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*\)$/,mz=q("isHSL",(z)=>r.test(z),(z,Q)=>{return`if (!_re[${Q.addRegex(r)}].test(${z})) ${Q.fail("isHSL")};`});mz.constraints={};var 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 MZ(z){let Q=(Z)=>{if(typeof Z!=="string")return!1;if(z?.no_separators)return e.test(Z);return t.test(Z)||v.test(Z)};return Q.emit=(Z,$)=>{if(z?.no_separators)return`if (!_re[${$.addRegex(e)}].test(${Z})) ${$.fail("isMACAddress")};`;let K=$.addRegex(t),j=$.addRegex(v);return`if (!_re[${K}].test(${Z}) && !_re[${j}].test(${Z})) ${$.fail("isMACAddress")};`},Q.ruleName="isMACAddress",Q.requiresType="string",Q.constraints={},Q}function a(z){let Q=z.replace(/[-\s]/g,"");if(!/^\d{9}[\dX]$/.test(Q))return!1;let Z=0;for(let K=0;K<9;K++)Z+=(10-K)*(Q.charCodeAt(K)-48);let $=Q[9]==="X"?10:Q.charCodeAt(9)-48;return Z+=$,Z%11===0}function zz(z){let Q=z.replace(/[-\s]/g,"");if(!/^\d{13}$/.test(Q))return!1;let Z=0;for(let K=0;K<12;K++)Z+=(Q.charCodeAt(K)-48)*(K%2===0?1:3);return(10-Z%10)%10===Q.charCodeAt(12)-48}function UZ(z){let Q=(Z)=>{if(typeof Z!=="string")return!1;if(z===10)return a(Z);if(z===13)return zz(Z);return a(Z)||zz(Z)};return Q.emit=(Z,$)=>{return`if (!_refs[${$.addRef(Q)}](${Z})) ${$.fail("isISBN")};`},Q.ruleName="isISBN",Q.requiresType="string",Q.constraints={},Q}var iz=/^[A-Z]{2}[A-Z0-9]{9}[0-9]$/;function Qz(z){if(!iz.test(z))return!1;let Q=z.split("").map((K)=>{let j=K.charCodeAt(0);return j>=65?String(j-55):K}).join(""),Z=0,$=!1;for(let K=Q.length-1;K>=0;K--){let j=parseInt(Q[K],10);if($){if(j*=2,j>9)j-=9}Z+=j,$=!$}return Z%10===0}var cz=q("isISIN",Qz,(z,Q)=>{return`if (!_refs[${Q.addRef(Qz)}](${z})) ${Q.fail("isISIN")};`});cz.constraints={};var o=/^\d{4}(?:-\d{2}(?:-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:?\d{2})?)?)?)?$/;function lz(z){if(!o.test(z))return!1;let Q=z.match(/^(\d{4})-(\d{2})-(\d{2})/);if(!Q)return!0;let Z=Number(Q[2]),$=Number(Q[3]);if(Z<1||Z>12)return!1;let K=new Date(Number(Q[1]),Z,0).getDate();return $>=1&&$<=K}function HZ(z){if(z?.strict){let Z=($)=>{if(typeof $!=="string")return!1;return lz($)};return Z.ruleName="isISO8601",Z.emit=($,K)=>{return`if (!_refs[${K.addRef(Z)}](${$})) ${K.fail("isISO8601")};`},Z.constraints={format:"date-time"},Z}let Q=q("isISO8601",(Z)=>o.test(Z),(Z,$)=>{return`if (!_re[${$.addRegex(o)}].test(${Z})) ${$.fail("isISO8601")};`});return Q.constraints={format:"date-time"},Q}var Zz=/^[A-Z]{2}-[A-Z0-9]{3}-\d{2}-\d{5}$|^[A-Z]{2}[A-Z0-9]{3}\d{7}$/,nz=q("isISRC",(z)=>Zz.test(z),(z,Q)=>{return`if (!_re[${Q.addRegex(Zz)}].test(${z})) ${Q.fail("isISRC")};`});nz.constraints={};function rz(z,Q){let Z=Q?.requireHyphen!==!1,$=Z?z:z.replace(/-/g,"");if(!(Z?/^\d{4}-\d{3}[\dX]$/:/^\d{7}[\dX]$/).test($))return!1;let j=$.replace(/-/g,""),J=0;for(let Y=0;Y<7;Y++)J+=(8-Y)*(j.charCodeAt(Y)-48);let w=j[7]==="X"?10:j.charCodeAt(7)-48;return J+=w,J%11===0}function BZ(z){let Q=(Z)=>{if(typeof Z!=="string")return!1;return rz(Z,z)};return Q.emit=(Z,$)=>{return`if (!_refs[${$.addRef(Q)}](${Z})) ${$.fail("isISSN")};`},Q.ruleName="isISSN",Q.requiresType="string",Q.constraints={},Q}var $z=/^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$/,tz=q("isJWT",(z)=>$z.test(z),(z,Q)=>{return`if (!_re[${Q.addRegex($z)}].test(${z})) ${Q.fail("isJWT")};`});tz.constraints={};var Kz=/^[-+]?([1-8]?\d(?:\.\d+)?|90(?:\.0+)?),\s*[-+]?(180(?:\.0+)?|1[0-7]\d(?:\.\d+)?|\d{1,2}(?:\.\d+)?)$/;function DZ(z){let Q=q("isLatLong",(Z)=>Kz.test(Z),(Z,$)=>{return`if (!_re[${$.addRegex(Kz)}].test(${Z})) ${$.fail("isLatLong")};`});return Q.constraints={},Q}var jz=/^[a-zA-Z]{2,3}(?:-[a-zA-Z]{4})?(?:-(?:[a-zA-Z]{2}|\d{3}))?(?:-[a-zA-Z\d]{5,8})*$/,vz=q("isLocale",(z)=>jz.test(z),(z,Q)=>{return`if (!_re[${Q.addRegex(jz)}].test(${z})) ${Q.fail("isLocale")};`});vz.constraints={};var Jz=/^data:([a-zA-Z0-9!#$&\-^_]+\/[a-zA-Z0-9!#$&\-^_]+)(?:;[a-zA-Z0-9\-]+=[a-zA-Z0-9\-]+)*(?:;base64)?,[\s\S]*$/,ez=q("isDataURI",(z)=>Jz.test(z),(z,Q)=>{return`if (!_re[${Q.addRegex(Jz)}].test(${z})) ${Q.fail("isDataURI")};`});ez.constraints={};function hZ(z){let Q=z?.require_tld!==!1,Z=($)=>{if(typeof $!=="string")return!1;let K=$;if(z?.allow_trailing_dot&&K.endsWith("."))K=K.slice(0,-1);if(K.length===0)return!1;let j=K.split(".");if(Q&&j.length<2)return!1;if(Q){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(z?.allow_underscores)return/^[a-zA-Z0-9_-]+$/.test(J);return/^[a-zA-Z0-9-]+$/.test(J)&&!J.startsWith("-")&&!J.endsWith("-")})};return Z.emit=($,K)=>{return`if (!_refs[${K.addRef(Z)}](${$})) ${K.fail("isFQDN")};`},Z.ruleName="isFQDN",Z.requiresType="string",Z.constraints={},Z}var qz=/^(?: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)$/,az=q("isPort",(z)=>qz.test(z),(z,Q)=>{return`if (!_re[${Q.addRegex(qz)}].test(${z})) ${Q.fail("isPort")};`});az.constraints={};function wz(z){if(!/^\d{8}$/.test(z)&&!/^\d{13}$/.test(z))return!1;let Q=z.split("").map(Number),Z=Q.length,$=0;for(let j=0;j<Z-1;j++)$+=Q[j]*(Z===8?j%2===0?3:1:j%2===0?1:3);return(10-$%10)%10===Q[Z-1]}var zQ=q("isEAN",wz,(z,Q)=>{return`if (!_refs[${Q.addRef(wz)}](${z})) ${Q.fail("isEAN")};`});zQ.constraints={};var gz=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"]),B=(z)=>{if(typeof z!=="string")return!1;return gz.has(z.toUpperCase())};B.emit=(z,Q)=>{return`if (!_refs[${Q.addRef(gz)}].has(${z}.toUpperCase())) ${Q.fail("isISO31661Alpha2")};`};B.ruleName="isISO31661Alpha2";B.requiresType="string";B.constraints={};var kZ=B,Lz=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=(z)=>{if(typeof z!=="string")return!1;return Lz.has(z.toUpperCase())};D.emit=(z,Q)=>{return`if (!_refs[${Q.addRef(Lz)}].has(${z}.toUpperCase())) ${Q.fail("isISO31661Alpha3")};`};D.ruleName="isISO31661Alpha3";D.requiresType="string";D.constraints={};var PZ=D,Yz=/^[A-Z]{6}[A-Z0-9]{2}(?:[A-Z0-9]{3})?$/,QQ=q("isBIC",(z)=>Yz.test(z.toUpperCase()),(z,Q)=>{return`if (!_re[${Q.addRegex(Yz)}].test(${z}.toUpperCase())) ${Q.fail("isBIC")};`});QQ.constraints={};var Wz=/^[a-zA-Z0-9_-]{20}$/,ZQ=q("isFirebasePushId",(z)=>Wz.test(z),(z,Q)=>{return`if (!_re[${Q.addRegex(Wz)}].test(${z})) ${Q.fail("isFirebasePushId")};`});ZQ.constraints={};var bz=/^(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-]+)*))?$/,$Q=q("isSemVer",(z)=>bz.test(z),(z,Q)=>{return`if (!_re[${Q.addRegex(bz)}].test(${z})) ${Q.fail("isSemVer")};`});$Q.constraints={};var Vz=/^[0-9a-fA-F]{24}$/,KQ=q("isMongoId",(z)=>Vz.test(z),(z,Q)=>{return`if (!_re[${Q.addRegex(Vz)}].test(${z})) ${Q.fail("isMongoId")};`});KQ.constraints={};var h=(z)=>{if(typeof z!=="string")return!1;try{return JSON.parse(z),!0}catch{return!1}};h.emit=(z,Q)=>{return`if (!_refs[${Q.addRef(($)=>{try{return JSON.parse($),!0}catch{return!1}})}](${z})) ${Q.fail("isJSON")};`};h.ruleName="isJSON";h.requiresType="string";h.constraints={};var CZ=h,jQ=/^[A-Z2-7]+=*$/i;function yZ(z){let Q=jQ,Z=q("isBase32",($)=>{if($.length===0)return!1;if($.length%8!==0)return!1;return Q.test($)},($,K)=>{let j=K.addRegex(Q);return`if (${$}.length === 0 || ${$}.length % 8 !== 0 || !_re[${j}].test(${$})) ${K.fail("isBase32")};`});return Z.constraints={},Z}var Gz=/^[1-9A-HJ-NP-Za-km-z]+$/,JQ=q("isBase58",(z)=>Gz.test(z),(z,Q)=>{return`if (!_re[${Q.addRegex(Gz)}].test(${z})) ${Q.fail("isBase58")};`});JQ.constraints={};var qQ=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$/,wQ=/^[A-Za-z0-9_-]+={0,2}$/;function OZ(z){let Q=z?.urlSafe?wQ:qQ,Z=q("isBase64",($)=>{if($.length===0)return!1;return Q.test($)},($,K)=>{let j=K.addRegex(Q);return`if (${$}.length === 0 || !_re[${j}].test(${$})) ${K.fail("isBase64")};`});return Z.constraints={},Z}var Xz=/^\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01])$/;function TZ(z){let Q=q("isDateString",(Z)=>Xz.test(Z),(Z,$)=>{return`if (!_re[${$.addRegex(Xz)}].test(${Z})) ${$.fail("isDateString")};`});return Q.constraints={},Q}var Fz=/^(application|audio|font|image|message|model|multipart|text|video)\/[a-zA-Z0-9][a-zA-Z0-9!#$&\-^_.+]*(?:;.+)?$/,YQ=q("isMimeType",(z)=>Fz.test(z),(z,Q)=>{return`if (!_re[${Q.addRegex(Fz)}].test(${z})) ${Q.fail("isMimeType")};`});YQ.constraints={};var Mz=/^[-+]?(?:[,.\d]+)(?:[.,]\d{2})?$|^\$?-?(?:\d+|\d{1,3}(?:,\d{3})*)(?:\.\d{1,2})?$/;function gZ(z){let Q=q("isCurrency",(Z)=>{if(Z.length===0)return!1;return Mz.test(Z)},(Z,$)=>{let K=$.addRegex(Mz);return`if (${Z}.length === 0 || !_re[${K}].test(${Z})) ${$.fail("isCurrency")};`});return Q.constraints={},Q}var Uz=/^magnet:\?xt=urn:[a-z0-9]+:[a-z0-9]{32,40}/i,WQ=q("isMagnetURI",(z)=>Uz.test(z),(z,Q)=>{return`if (!_re[${Q.addRegex(Uz)}].test(${z})) ${Q.fail("isMagnetURI")};`});WQ.constraints={};function bQ(z){let Q=z.replace(/[\s-]/g,"");if(Q.length===0||!/^\d+$/.test(Q))return!1;let Z=0,$=!1;for(let K=Q.length-1;K>=0;K--){let j=Q.charCodeAt(K)-48;if($){if(j*=2,j>9)j-=9}Z+=j,$=!$}return Z%10===0}var k=(z)=>{if(typeof z!=="string")return!1;return bQ(z)};k.emit=(z,Q)=>`{
|
|
6
|
-
var _cs=${z}.replace(/[\\s-]/g,'');
|
|
7
|
-
if(_cs.length===0||!/^\\d+$/.test(_cs)){${Q.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)${Q.fail("isCreditCard")};}
|
|
11
|
-
}`;k.ruleName="isCreditCard";k.requiresType="string";k.constraints={};var LZ=k,VQ={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 GQ(z,Q){let Z=Q?.allowSpaces?z.replace(/\s/g,""):z;if(Z=Z.toUpperCase(),!/^[A-Z]{2}\d{2}[A-Z0-9]+$/.test(Z))return!1;let $=Z.slice(0,2),K=VQ[$];if(K!==void 0&&Z.length!==K)return!1;let J=(Z.slice(4)+Z.slice(0,4)).replace(/[A-Z]/g,(Y)=>String(Y.charCodeAt(0)-55)),w=0;for(let Y=0;Y<J.length;Y+=7){let W=String(w)+J.slice(Y,Y+7);w=parseInt(W,10)%97}return w===1}function AZ(z){let Q=(Z)=>{if(typeof Z!=="string")return!1;return GQ(Z,z)};return Q.emit=(Z,$)=>{return`if (!_refs[${$.addRef(Q)}](${Z})) ${$.fail("isIBAN")};`},Q.ruleName="isIBAN",Q.requiresType="string",Q.constraints={},Q}function IZ(z,Q){let Z=($)=>{if(typeof $!=="string")return!1;let K=Buffer.byteLength($,"utf8");if(K<z)return!1;if(Q!==void 0&&K>Q)return!1;return!0};return Z.emit=($,K)=>{let j=(w)=>{let Y=Buffer.byteLength(w,"utf8");if(Y<z)return!1;if(Q!==void 0&&Y>Q)return!1;return!0};return`if (!_refs[${K.addRef(j)}](${$})) ${K.fail("isByteLength")};`},Z.ruleName="isByteLength",Z.requiresType="string",Z.constraints={},Z}var XQ={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 dZ(z){let Q=XQ[z],Z=($)=>{if(typeof $!=="string")return!1;if(!Q)return!1;return Q.test($)};return Z.emit=($,K)=>{if(!Q)return K.fail("isHash")+";";return`if (!_re[${K.addRegex(Q)}].test(${$})) ${K.fail("isHash")};`},Z.ruleName="isHash",Z.requiresType="string",Z.constraints={},Z}var Hz=/^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}:\d{2})$/i,FQ=q("isRFC3339",(z)=>Hz.test(z),(z,Q)=>{return`if (!_re[${Q.addRegex(Hz)}].test(${z})) ${Q.fail("isRFC3339")};`});FQ.constraints={};var Bz=/^([01]\d|2[0-3]):[0-5]\d$/,MQ=q("isMilitaryTime",(z)=>Bz.test(z),(z,Q)=>{return`if (!_re[${Q.addRegex(Bz)}].test(${z})) ${Q.fail("isMilitaryTime")};`});MQ.constraints={};function Az(z){if(typeof z==="number")return z>=-90&&z<=90;if(typeof z==="string"){let Q=parseFloat(z);if(isNaN(Q))return!1;if(String(Q)!==z&&z!==String(Q)){if(!/^-?\d+(\.\d+)?$/.test(z))return!1}return Q>=-90&&Q<=90}return!1}var p=(z)=>Az(z);p.emit=(z,Q)=>{return`if (!_refs[${Q.addRef(Az)}](${z})) ${Q.fail("isLatitude")};`};p.ruleName="isLatitude";p.constraints={};var SZ=p;function Iz(z){if(typeof z==="number")return z>=-180&&z<=180;if(typeof z==="string"){let Q=parseFloat(z);if(isNaN(Q))return!1;if(!/^-?\d+(\.\d+)?$/.test(z))return!1;return Q>=-180&&Q<=180}return!1}var R=(z)=>Iz(z);R.emit=(z,Q)=>{return`if (!_refs[${Q.addRef(Iz)}](${z})) ${Q.fail("isLongitude")};`};R.ruleName="isLongitude";R.constraints={};var pZ=R,Dz=/^0x[0-9a-fA-F]{40}$/,UQ=q("isEthereumAddress",(z)=>Dz.test(z),(z,Q)=>{return`if (!_re[${Q.addRegex(Dz)}].test(${z})) ${Q.fail("isEthereumAddress")};`});UQ.constraints={};var hz=/^1[a-km-zA-HJ-NP-Z1-9]{25,34}$/,kz=/^3[a-km-zA-HJ-NP-Z1-9]{25,34}$/,Pz=/^(bc1)[a-z0-9]{6,87}$/,HQ=q("isBtcAddress",(z)=>hz.test(z)||kz.test(z)||Pz.test(z),(z,Q)=>{let Z=Q.addRegex(hz),$=Q.addRegex(kz),K=Q.addRegex(Pz);return`if (!_re[${Z}].test(${z}) && !_re[${$}].test(${z}) && !_re[${K}].test(${z})) ${Q.fail("isBtcAddress")};`});HQ.constraints={};var Cz=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"]),BQ=q("isISO4217CurrencyCode",(z)=>Cz.has(z),(z,Q)=>{return`if (!_refs[${Q.addRef(Cz)}].has(${z})) ${Q.fail("isISO4217CurrencyCode")};`});BQ.constraints={};var yz=/^\+[1-9]\d{6,14}$/,DQ=q("isPhoneNumber",(z)=>yz.test(z),(z,Q)=>{return`if (!_re[${Q.addRegex(yz)}].test(${z})) ${Q.fail("isPhoneNumber")};`});DQ.constraints={};function RZ(z){let Q=z?.minLength??8,Z=z?.minLowercase??1,$=z?.minUppercase??1,K=z?.minNumbers??1,j=z?.minSymbols??1,J=(Y)=>{if(Y.length<Q)return!1;if(Z>0){if((Y.match(/[a-z]/g)||[]).length<Z)return!1}if($>0){if((Y.match(/[A-Z]/g)||[]).length<$)return!1}if(K>0){if((Y.match(/[0-9]/g)||[]).length<K)return!1}if(j>0){if((Y.match(/[^a-zA-Z0-9]/g)||[]).length<j)return!1}return!0},w=(Y)=>{if(typeof Y!=="string")return!1;return J(Y)};return w.emit=(Y,W)=>{return`if (!_refs[${W.addRef(J)}](${Y})) ${W.fail("isStrongPassword")};`},w.ruleName="isStrongPassword",w.requiresType="string",w.constraints={},w}var hQ={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 EZ(z){let Q=hQ[z],Z=($)=>{if(typeof $!=="string")return!1;if(!Q)return!1;return Q.test($)};return Z.emit=($,K)=>{if(!Q)return K.fail("isTaxId")+";";return`if (!_re[${K.addRegex(Q)}].test(${$})) ${K.fail("isTaxId")};`},Z.ruleName="isTaxId",Z.requiresType="string",Z.constraints={},Z}function oZ(z){let Q=(Z)=>{if(!Array.isArray(Z))return!1;return z.every(($)=>Z.includes($))};return Q.emit=(Z,$)=>{return`if (!_refs[${$.addRef(z)}].every(function(v){return ${Z}.indexOf(v)!==-1;})) ${$.fail("arrayContains")};`},Q.ruleName="arrayContains",Q.constraints={values:z},Q}function _Z(z){let Q=(Z)=>{if(!Array.isArray(Z))return!1;return z.every(($)=>!Z.includes($))};return Q.emit=(Z,$)=>{return`if (_refs[${$.addRef(z)}].some(function(v){return ${Z}.indexOf(v)!==-1;})) ${$.fail("arrayNotContains")};`},Q.ruleName="arrayNotContains",Q.constraints={values:z},Q}function NZ(z){let Q=(Z)=>Array.isArray(Z)&&Z.length>=z;return Q.emit=(Z,$)=>`if (${Z}.length < ${z}) ${$.fail("arrayMinSize")};`,Q.ruleName="arrayMinSize",Q.constraints={min:z},Q}function sZ(z){let Q=(Z)=>Array.isArray(Z)&&Z.length<=z;return Q.emit=(Z,$)=>`if (${Z}.length > ${z}) ${$.fail("arrayMaxSize")};`,Q.ruleName="arrayMaxSize",Q.constraints={max:z},Q}function uZ(z){let Q=(Z)=>{if(!Array.isArray(Z))return!1;if(z){let $=Z.map(z);return new Set($).size===$.length}return new Set(Z).size===Z.length};return Q.emit=(Z,$)=>{if(z){let K=$.addRef(z);return`{var _keys=${Z}.map(_refs[${K}]);if(new Set(_keys).size!==_keys.length)${$.fail("arrayUnique")};}`}return`if(new Set(${Z}).size!==${Z}.length)${$.fail("arrayUnique")};`},Q.ruleName="arrayUnique",Q.constraints={},Q}var E=(z)=>Array.isArray(z)&&z.length>0;E.emit=(z,Q)=>`if (${z}.length === 0) ${Q.fail("arrayNotEmpty")};`;E.ruleName="arrayNotEmpty";E.constraints={};var xZ=E;function iZ(z){let Q=(Z)=>{if(Z===null||typeof Z!=="object"||Array.isArray(Z))return!1;let $=Object.keys(Z);if(z?.nullable)return $.some((K)=>Z[K]!=null);return $.length>0};return Q.emit=(Z,$)=>{if(z?.nullable)return`if (!_refs[${$.addRef(Q)}](${Z})) ${$.fail("isNotEmptyObject")};`;return`if (Object.keys(${Z}).length === 0) ${$.fail("isNotEmptyObject")};`},Q.ruleName="isNotEmptyObject",Q.constraints={nullable:z?.nullable},Q}function cZ(z){let Q=(Z)=>Z instanceof z;return Q.emit=(Z,$)=>{let K=$.addRef(z);return`if (!(${Z} instanceof _refs[${K}])) ${$.fail("isInstance")};`},Q.ruleName="isInstance",Q.constraints={type:z.name},Q}var kQ={"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 nZ(z){let Q=kQ[z],Z=($)=>{if(typeof $!=="string")return!1;if(!Q)return!1;return Q.test($)};return Z.emit=($,K)=>{if(!Q)return K.fail("isMobilePhone")+";";return`if (!_re[${K.addRegex(Q)}].test(${$})) ${K.fail("isMobilePhone")};`},Z.ruleName="isMobilePhone",Z.requiresType="string",Z.constraints={locale:z},Z}var PQ={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 rZ(z){let Q=PQ[z],Z=($)=>{if(typeof $!=="string")return!1;if(!Q)return!1;return Q.test($)};return Z.emit=($,K)=>{if(!Q)return K.fail("isPostalCode")+";";return`if (!_re[${K.addRegex(Q)}].test(${$})) ${K.fail("isPostalCode")};`},Z.ruleName="isPostalCode",Z.requiresType="string",Z.constraints={locale:z},Z}var CQ={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 tZ(z){let Q=CQ[z],Z=($)=>{if(typeof $!=="string")return!1;if(!Q)return!1;return Q.test($)};return Z.emit=($,K)=>{if(!Q)return K.fail("isIdentityCard")+";";return`if (!_re[${K.addRegex(Q)}].test(${$})) ${K.fail("isIdentityCard")};`},Z.ruleName="isIdentityCard",Z.requiresType="string",Z.constraints={locale:z},Z}var yQ={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 vZ(z){let Q=yQ[z],Z=($)=>{if(typeof $!=="string")return!1;if(!Q)return!1;return Q.test($)};return Z.emit=($,K)=>{if(!Q)return K.fail("isPassportNumber")+";";return`if (!_re[${K.addRegex(Q)}].test(${$})) ${K.fail("isPassportNumber")};`},Z.ruleName="isPassportNumber",Z.requiresType="string",Z.constraints={locale:z},Z}
|
|
12
|
-
export{TQ as jb,gQ as kb,LQ as lb,AQ as mb,IQ as nb,dQ as ob,pQ as pb,RQ as qb,EQ as rb,fQ as sb,oQ as tb,_Q as ub,NQ as vb,sQ as wb,xQ as xb,mQ as yb,iQ as zb,cQ as Ab,lQ as Bb,rQ as Cb,tQ as Db,eQ as Eb,aQ as Fb,zZ as Gb,QZ as Hb,ZZ as Ib,$Z as Jb,KZ as Kb,jZ as Lb,dz as Mb,JZ as Nb,qZ as Ob,wZ as Pb,YZ as Qb,WZ as Rb,Rz as Sb,Ez as Tb,fz as Ub,oz as Vb,_z as Wb,Nz as Xb,sz as Yb,bZ as Zb,VZ as _b,GZ as $b,XZ as ac,xz as bc,FZ as cc,mz as dc,MZ as ec,UZ as fc,cz as gc,HZ as hc,nz as ic,BZ as jc,tz as kc,DZ as lc,vz as mc,ez as nc,hZ as oc,az as pc,zQ as qc,kZ as rc,PZ as sc,QQ as tc,ZQ as uc,$Q as vc,KQ as wc,CZ as xc,yZ as yc,JQ as zc,OZ as Ac,TZ as Bc,YQ as Cc,gZ as Dc,WQ as Ec,LZ as Fc,AZ as Gc,IZ as Hc,dZ as Ic,FQ as Jc,MQ as Kc,SZ as Lc,pZ as Mc,UQ as Nc,HQ as Oc,BQ as Pc,DQ as Qc,RZ as Rc,EZ as Sc,oZ as Tc,_Z as Uc,NZ as Vc,sZ as Wc,uZ as Xc,xZ as Yc,iZ as Zc,cZ as _c,nZ as $c,rZ as ad,tZ as bd,vZ as cd};
|
|
13
|
-
|
|
14
|
-
//# debugId=E66A39A339B7577264756E2164756E21
|
|
15
|
-
//# sourceMappingURL=index-wy5sh2nx.js.map
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { ValidationOptions } from '../interfaces';
|
|
2
|
-
/** 배열이 지정한 모든 값을 포함 */
|
|
3
|
-
export declare function ArrayContains(values: unknown[], options?: ValidationOptions): PropertyDecorator;
|
|
4
|
-
/** 배열이 지정한 값을 포함하지 않음 */
|
|
5
|
-
export declare function ArrayNotContains(values: unknown[], options?: ValidationOptions): PropertyDecorator;
|
|
6
|
-
/** 배열 최소 길이 */
|
|
7
|
-
export declare function ArrayMinSize(min: number, options?: ValidationOptions): PropertyDecorator;
|
|
8
|
-
/** 배열 최대 길이 */
|
|
9
|
-
export declare function ArrayMaxSize(max: number, options?: ValidationOptions): PropertyDecorator;
|
|
10
|
-
/** 배열에 중복 값 없음 */
|
|
11
|
-
export declare function ArrayUnique(identifier?: (o: unknown) => unknown, options?: ValidationOptions): PropertyDecorator;
|
|
12
|
-
/** 배열이 비어있지 않음 */
|
|
13
|
-
export declare function ArrayNotEmpty(options?: ValidationOptions): PropertyDecorator;
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import type { ValidationOptions } from '../interfaces';
|
|
2
|
-
/**
|
|
3
|
-
* undefined/null 불허. groups를 무시하고 항상 적용.
|
|
4
|
-
* @IsDefined와 @IsOptional 동시 선언 시 @IsDefined 우선 (optional 가드 생략).
|
|
5
|
-
*/
|
|
6
|
-
export declare function IsDefined(_options?: ValidationOptions): PropertyDecorator;
|
|
7
|
-
/**
|
|
8
|
-
* undefined/null 허용 — 해당 필드의 전체 validation을 skip.
|
|
9
|
-
* @IsDefined와 동시 선언 시 @IsDefined 우선.
|
|
10
|
-
*/
|
|
11
|
-
export declare function IsOptional(_options?: ValidationOptions): PropertyDecorator;
|
|
12
|
-
/**
|
|
13
|
-
* 조건이 false일 때 해당 필드의 전체 검증을 skip.
|
|
14
|
-
* 조건 함수는 원본 input 객체를 인자로 받는다.
|
|
15
|
-
*/
|
|
16
|
-
export declare function ValidateIf(condition: (obj: any) => boolean): PropertyDecorator;
|
|
17
|
-
/**
|
|
18
|
-
* 중첩 DTO 재귀 검증 트리거. @Type과 함께 사용해야 한다.
|
|
19
|
-
* builder 트리거 조건: meta.type !== null && meta.flags.validateNested === true
|
|
20
|
-
*/
|
|
21
|
-
export declare function ValidateNested(options?: ValidationOptions): PropertyDecorator;
|
|
22
|
-
/**
|
|
23
|
-
* null 허용+할당. undefined는 거부.
|
|
24
|
-
* @IsOptional과 조합 시: null은 할당, undefined는 skip.
|
|
25
|
-
* @IsDefined와 조합 시: Case 3과 동일 (추가 효과 없음).
|
|
26
|
-
*/
|
|
27
|
-
export declare function IsNullable(_options?: ValidationOptions): PropertyDecorator;
|
|
28
|
-
/** value === comparison (strict equality) */
|
|
29
|
-
export declare function Equals(comparison: unknown, options?: ValidationOptions): PropertyDecorator;
|
|
30
|
-
/** value !== comparison (strict inequality) */
|
|
31
|
-
export declare function NotEquals(comparison: unknown, options?: ValidationOptions): PropertyDecorator;
|
|
32
|
-
/** value === undefined | null | '' */
|
|
33
|
-
export declare function IsEmpty(options?: ValidationOptions): PropertyDecorator;
|
|
34
|
-
/** value !== undefined && value !== null && value !== '' */
|
|
35
|
-
export declare function IsNotEmpty(options?: ValidationOptions): PropertyDecorator;
|
|
36
|
-
/** array.indexOf(value) !== -1 */
|
|
37
|
-
export declare function IsIn(array: readonly unknown[], options?: ValidationOptions): PropertyDecorator;
|
|
38
|
-
/** array.indexOf(value) === -1 */
|
|
39
|
-
export declare function IsNotIn(array: readonly unknown[], options?: ValidationOptions): PropertyDecorator;
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { ValidationOptions } from '../interfaces';
|
|
2
|
-
/** value >= date (inclusive, getTime 비교) */
|
|
3
|
-
export declare function MinDate(date: Date, options?: ValidationOptions): PropertyDecorator;
|
|
4
|
-
/** value <= date (inclusive, getTime 비교) */
|
|
5
|
-
export declare function MaxDate(date: Date, options?: ValidationOptions): PropertyDecorator;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { ValidationOptions } from '../interfaces';
|
|
2
|
-
/** 로케일별 모바일 전화번호 */
|
|
3
|
-
export declare function IsMobilePhone(locale: string, options?: ValidationOptions): PropertyDecorator;
|
|
4
|
-
/** 로케일별 우편번호 */
|
|
5
|
-
export declare function IsPostalCode(locale: string, options?: ValidationOptions): PropertyDecorator;
|
|
6
|
-
/** 로케일별 신분증 번호 */
|
|
7
|
-
export declare function IsIdentityCard(locale: string, options?: ValidationOptions): PropertyDecorator;
|
|
8
|
-
/** 로케일별 여권 번호 */
|
|
9
|
-
export declare function IsPassportNumber(locale: string, options?: ValidationOptions): PropertyDecorator;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export interface NestedOptions {
|
|
2
|
-
discriminator?: {
|
|
3
|
-
property: string;
|
|
4
|
-
subTypes: {
|
|
5
|
-
value: Function;
|
|
6
|
-
name: string;
|
|
7
|
-
}[];
|
|
8
|
-
};
|
|
9
|
-
keepDiscriminatorProperty?: boolean;
|
|
10
|
-
each?: boolean;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* @Type(() => X) + @ValidateNested() 통합.
|
|
14
|
-
*
|
|
15
|
-
* discriminator + each 동시 사용 시 SealError throw.
|
|
16
|
-
*/
|
|
17
|
-
export declare function Nested(typeFn: () => new (...args: any[]) => any, options?: NestedOptions): PropertyDecorator;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { ValidationOptions } from '../interfaces';
|
|
2
|
-
/** value >= n (exclusive: true → value > n) */
|
|
3
|
-
export declare function Min(n: number, options?: ValidationOptions & {
|
|
4
|
-
exclusive?: boolean;
|
|
5
|
-
}): PropertyDecorator;
|
|
6
|
-
/** value <= n (exclusive: true → value < n) */
|
|
7
|
-
export declare function Max(n: number, options?: ValidationOptions & {
|
|
8
|
-
exclusive?: boolean;
|
|
9
|
-
}): PropertyDecorator;
|
|
10
|
-
/** value > 0 */
|
|
11
|
-
export declare function IsPositive(options?: ValidationOptions): PropertyDecorator;
|
|
12
|
-
/** value < 0 */
|
|
13
|
-
export declare function IsNegative(options?: ValidationOptions): PropertyDecorator;
|
|
14
|
-
/** value % n === 0 */
|
|
15
|
-
export declare function IsDivisibleBy(n: number, options?: ValidationOptions): PropertyDecorator;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { IsNotEmptyObjectOptions } from '../rules/object';
|
|
2
|
-
import type { ValidationOptions } from '../interfaces';
|
|
3
|
-
/**
|
|
4
|
-
* 빈 객체가 아님 (최소 1개의 key).
|
|
5
|
-
* nullable: true이면 null/undefined 값을 가진 키를 무시.
|
|
6
|
-
*/
|
|
7
|
-
export declare function IsNotEmptyObject(objectOptions?: IsNotEmptyObjectOptions, options?: ValidationOptions): PropertyDecorator;
|
|
8
|
-
/** value instanceof targetType */
|
|
9
|
-
export declare function IsInstance(targetType: new (...args: any[]) => any, options?: ValidationOptions): PropertyDecorator;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { JsonSchema202012 } from '../types';
|
|
2
|
-
/**
|
|
3
|
-
* 객체 리터럴: ClassDecorator & PropertyDecorator.
|
|
4
|
-
* 프로퍼티 레벨에서는 자동 매핑 결과를 오버라이드/보충.
|
|
5
|
-
* 클래스 레벨에서는 루트 스키마에 title, description, $id 등 병합.
|
|
6
|
-
*/
|
|
7
|
-
export declare function Schema(schema: JsonSchema202012): ClassDecorator & PropertyDecorator;
|
|
8
|
-
/**
|
|
9
|
-
* 함수형: PropertyDecorator 전용.
|
|
10
|
-
* `auto` 파라미터로 자동 매핑 결과를 받아 완전한 제어 가능.
|
|
11
|
-
* toJsonSchema() 호출 시점에 실행된다 (데코레이터 시점이 아님).
|
|
12
|
-
*/
|
|
13
|
-
export declare function Schema(fn: (auto: JsonSchema202012) => JsonSchema202012): PropertyDecorator;
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import type { IsEmailOptions, IsURLOptions, IsBase32Options, IsBase64Options, IsDateStringOptions, IsCurrencyOptions, IsMACAddressOptions, IsIBANOptions, IsISSNOptions, IsFQDNOptions, IsLatLongOptions, IsISO8601Options, IsNumberStringOptions, IsDecimalOptions, IsStrongPasswordOptions } from '../rules/string';
|
|
2
|
-
import type { ValidationOptions } from '../interfaces';
|
|
3
|
-
export type { IsEmailOptions, IsURLOptions, IsBase32Options, IsBase64Options, IsDateStringOptions, IsCurrencyOptions, IsMACAddressOptions, IsIBANOptions, IsISSNOptions, IsFQDNOptions, IsLatLongOptions, IsISO8601Options, IsNumberStringOptions, IsDecimalOptions, IsStrongPasswordOptions, };
|
|
4
|
-
export declare function MinLength(min: number, options?: ValidationOptions): PropertyDecorator;
|
|
5
|
-
export declare function MaxLength(max: number, options?: ValidationOptions): PropertyDecorator;
|
|
6
|
-
export declare function Length(min: number, max: number, options?: ValidationOptions): PropertyDecorator;
|
|
7
|
-
export declare function Contains(seed: string, options?: ValidationOptions): PropertyDecorator;
|
|
8
|
-
export declare function NotContains(seed: string, options?: ValidationOptions): PropertyDecorator;
|
|
9
|
-
export declare function Matches(pattern: string | RegExp, modifiers?: string, options?: ValidationOptions): PropertyDecorator;
|
|
10
|
-
export declare function IsLowercase(options?: ValidationOptions): PropertyDecorator;
|
|
11
|
-
export declare function IsUppercase(options?: ValidationOptions): PropertyDecorator;
|
|
12
|
-
export declare function IsAscii(options?: ValidationOptions): PropertyDecorator;
|
|
13
|
-
export declare function IsAlpha(options?: ValidationOptions): PropertyDecorator;
|
|
14
|
-
export declare function IsAlphanumeric(options?: ValidationOptions): PropertyDecorator;
|
|
15
|
-
export declare function IsBooleanString(options?: ValidationOptions): PropertyDecorator;
|
|
16
|
-
export declare function IsNumberString(numberOptions?: IsNumberStringOptions, options?: ValidationOptions): PropertyDecorator;
|
|
17
|
-
export declare function IsDecimal(decimalOptions?: IsDecimalOptions, options?: ValidationOptions): PropertyDecorator;
|
|
18
|
-
export declare function IsFullWidth(options?: ValidationOptions): PropertyDecorator;
|
|
19
|
-
export declare function IsHalfWidth(options?: ValidationOptions): PropertyDecorator;
|
|
20
|
-
export declare function IsVariableWidth(options?: ValidationOptions): PropertyDecorator;
|
|
21
|
-
export declare function IsMultibyte(options?: ValidationOptions): PropertyDecorator;
|
|
22
|
-
export declare function IsSurrogatePair(options?: ValidationOptions): PropertyDecorator;
|
|
23
|
-
export declare function IsHexadecimal(options?: ValidationOptions): PropertyDecorator;
|
|
24
|
-
export declare function IsOctal(options?: ValidationOptions): PropertyDecorator;
|
|
25
|
-
export declare function IsEmail(emailOptions?: IsEmailOptions, options?: ValidationOptions): PropertyDecorator;
|
|
26
|
-
export declare function IsURL(urlOptions?: IsURLOptions, options?: ValidationOptions): PropertyDecorator;
|
|
27
|
-
export declare function IsUUID(version?: 1 | 2 | 3 | 4 | 5 | 'all', options?: ValidationOptions): PropertyDecorator;
|
|
28
|
-
export declare function IsIP(version?: 4 | 6, options?: ValidationOptions): PropertyDecorator;
|
|
29
|
-
export declare function IsHexColor(options?: ValidationOptions): PropertyDecorator;
|
|
30
|
-
export declare function IsRgbColor(includePercentValues?: boolean, options?: ValidationOptions): PropertyDecorator;
|
|
31
|
-
export declare function IsHSL(options?: ValidationOptions): PropertyDecorator;
|
|
32
|
-
export declare function IsMACAddress(macOptions?: IsMACAddressOptions, options?: ValidationOptions): PropertyDecorator;
|
|
33
|
-
export declare function IsISBN(version?: 10 | 13, options?: ValidationOptions): PropertyDecorator;
|
|
34
|
-
export declare function IsISIN(options?: ValidationOptions): PropertyDecorator;
|
|
35
|
-
export declare function IsISO8601(isoOptions?: IsISO8601Options, options?: ValidationOptions): PropertyDecorator;
|
|
36
|
-
export declare function IsISRC(options?: ValidationOptions): PropertyDecorator;
|
|
37
|
-
export declare function IsISSN(issnOptions?: IsISSNOptions, options?: ValidationOptions): PropertyDecorator;
|
|
38
|
-
export declare function IsJWT(options?: ValidationOptions): PropertyDecorator;
|
|
39
|
-
export declare function IsLatLong(latLongOptions?: IsLatLongOptions, options?: ValidationOptions): PropertyDecorator;
|
|
40
|
-
export declare function IsLocale(options?: ValidationOptions): PropertyDecorator;
|
|
41
|
-
export declare function IsDataURI(options?: ValidationOptions): PropertyDecorator;
|
|
42
|
-
export declare function IsFQDN(fqdnOptions?: IsFQDNOptions, options?: ValidationOptions): PropertyDecorator;
|
|
43
|
-
export declare function IsPort(options?: ValidationOptions): PropertyDecorator;
|
|
44
|
-
export declare function IsEAN(options?: ValidationOptions): PropertyDecorator;
|
|
45
|
-
export declare function IsISO31661Alpha2(options?: ValidationOptions): PropertyDecorator;
|
|
46
|
-
export declare function IsISO31661Alpha3(options?: ValidationOptions): PropertyDecorator;
|
|
47
|
-
export declare function IsBIC(options?: ValidationOptions): PropertyDecorator;
|
|
48
|
-
export declare function IsFirebasePushId(options?: ValidationOptions): PropertyDecorator;
|
|
49
|
-
export declare function IsSemVer(options?: ValidationOptions): PropertyDecorator;
|
|
50
|
-
export declare function IsMongoId(options?: ValidationOptions): PropertyDecorator;
|
|
51
|
-
export declare function IsJSON(options?: ValidationOptions): PropertyDecorator;
|
|
52
|
-
export declare function IsBase32(base32Options?: IsBase32Options, options?: ValidationOptions): PropertyDecorator;
|
|
53
|
-
export declare function IsBase58(options?: ValidationOptions): PropertyDecorator;
|
|
54
|
-
export declare function IsBase64(base64Options?: IsBase64Options, options?: ValidationOptions): PropertyDecorator;
|
|
55
|
-
export declare function IsDateString(dateOptions?: IsDateStringOptions, options?: ValidationOptions): PropertyDecorator;
|
|
56
|
-
export declare function IsMimeType(options?: ValidationOptions): PropertyDecorator;
|
|
57
|
-
export declare function IsCurrency(currencyOptions?: IsCurrencyOptions, options?: ValidationOptions): PropertyDecorator;
|
|
58
|
-
export declare function IsMagnetURI(options?: ValidationOptions): PropertyDecorator;
|
|
59
|
-
export declare function IsCreditCard(options?: ValidationOptions): PropertyDecorator;
|
|
60
|
-
export declare function IsIBAN(ibanOptions?: IsIBANOptions, options?: ValidationOptions): PropertyDecorator;
|
|
61
|
-
export declare function IsByteLength(min: number, max?: number, options?: ValidationOptions): PropertyDecorator;
|
|
62
|
-
export declare function IsHash(algorithm: string, options?: ValidationOptions): PropertyDecorator;
|
|
63
|
-
export declare function IsRFC3339(options?: ValidationOptions): PropertyDecorator;
|
|
64
|
-
export declare function IsMilitaryTime(options?: ValidationOptions): PropertyDecorator;
|
|
65
|
-
export declare function IsLatitude(options?: ValidationOptions): PropertyDecorator;
|
|
66
|
-
export declare function IsLongitude(options?: ValidationOptions): PropertyDecorator;
|
|
67
|
-
export declare function IsEthereumAddress(options?: ValidationOptions): PropertyDecorator;
|
|
68
|
-
export declare function IsBtcAddress(options?: ValidationOptions): PropertyDecorator;
|
|
69
|
-
export declare function IsISO4217CurrencyCode(options?: ValidationOptions): PropertyDecorator;
|
|
70
|
-
export declare function IsPhoneNumber(options?: ValidationOptions): PropertyDecorator;
|
|
71
|
-
export declare function IsStrongPassword(pwOptions?: IsStrongPasswordOptions, options?: ValidationOptions): PropertyDecorator;
|
|
72
|
-
export declare function IsTaxId(locale: string, options?: ValidationOptions): PropertyDecorator;
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import type { TransformFunction } from '../types';
|
|
2
|
-
export interface ExposeOptions {
|
|
3
|
-
/** 출력 측 키 매핑 이름. deserialize/serialize 방향에 따라 다르게 설정 가능. */
|
|
4
|
-
name?: string;
|
|
5
|
-
/** 이 @Expose가 적용되는 groups. */
|
|
6
|
-
groups?: string[];
|
|
7
|
-
/** true: deserialize 방향에만 적용 (class-transformer toClassOnly 대응) */
|
|
8
|
-
deserializeOnly?: boolean;
|
|
9
|
-
/** true: serialize 방향에만 적용 (class-transformer toPlainOnly 대응) */
|
|
10
|
-
serializeOnly?: boolean;
|
|
11
|
-
}
|
|
12
|
-
export interface ExcludeOptions {
|
|
13
|
-
/** true: deserialize 방향에만 제외 */
|
|
14
|
-
deserializeOnly?: boolean;
|
|
15
|
-
/** true: serialize 방향에만 제외 */
|
|
16
|
-
serializeOnly?: boolean;
|
|
17
|
-
}
|
|
18
|
-
export interface TransformOptions {
|
|
19
|
-
/** 이 @Transform이 적용되는 groups */
|
|
20
|
-
groups?: string[];
|
|
21
|
-
/** true: deserialize 방향에만 적용 */
|
|
22
|
-
deserializeOnly?: boolean;
|
|
23
|
-
/** true: serialize 방향에만 적용 */
|
|
24
|
-
serializeOnly?: boolean;
|
|
25
|
-
}
|
|
26
|
-
export interface TypeOptions {
|
|
27
|
-
/** discriminator 설정 — 다형성 지원 (§8) */
|
|
28
|
-
discriminator?: {
|
|
29
|
-
property: string;
|
|
30
|
-
subTypes: {
|
|
31
|
-
value: Function;
|
|
32
|
-
name: string;
|
|
33
|
-
}[];
|
|
34
|
-
};
|
|
35
|
-
/** discriminator 프로퍼티를 결과 객체에 유지할지 여부 */
|
|
36
|
-
keepDiscriminatorProperty?: boolean;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* 필드를 baker에 등록하고 선택적으로 name 매핑/groups/방향 제어를 수행.
|
|
40
|
-
*
|
|
41
|
-
* 복수 @Expose 스택 지원 — 방향별 다른 name 매핑에 활용:
|
|
42
|
-
* @Expose({ name: 'user_name', deserializeOnly: true })
|
|
43
|
-
* @Expose({ name: 'userName', serializeOnly: true })
|
|
44
|
-
*
|
|
45
|
-
* @Expose와 @Exclude 동시 적용 시 @Exclude 우선 (§1.2).
|
|
46
|
-
*/
|
|
47
|
-
export declare function Expose(options?: ExposeOptions): PropertyDecorator;
|
|
48
|
-
/**
|
|
49
|
-
* 필드를 serialize/deserialize 결과에서 제외.
|
|
50
|
-
* @Exclude({ deserializeOnly: true }) — deserialize 방향만 제외
|
|
51
|
-
* @Exclude({ serializeOnly: true }) — serialize 방향만 제외
|
|
52
|
-
* @Exclude() — 양방향 제외
|
|
53
|
-
*
|
|
54
|
-
* @Expose와 동시 적용 시 @Exclude 우선 (§1.2).
|
|
55
|
-
*/
|
|
56
|
-
export declare function Exclude(options?: ExcludeOptions): PropertyDecorator;
|
|
57
|
-
/**
|
|
58
|
-
* 커스텀 변환 함수 적용.
|
|
59
|
-
* - TransformParams.type === 'deserialize' | 'serialize'로 방향 구분 가능
|
|
60
|
-
* - 명시적 @Transform이 있으면 enableImplicitConversion 건너뜀 (§4.3 ⑤)
|
|
61
|
-
*/
|
|
62
|
-
export declare function Transform(fn: TransformFunction, options?: TransformOptions): PropertyDecorator;
|
|
63
|
-
/**
|
|
64
|
-
* 중첩 객체의 타입을 지정. discriminator 다형성 지원.
|
|
65
|
-
* @ValidateNested와 함께 사용 시 중첩 DTO 재귀 검증 활성화.
|
|
66
|
-
* builder 트리거 조건: meta.type !== null && meta.flags.validateNested === true
|
|
67
|
-
*/
|
|
68
|
-
export declare function Type(fn: () => Function, options?: TypeOptions): PropertyDecorator;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { IsNumberOptions } from '../rules/typechecker';
|
|
2
|
-
import type { ValidationOptions } from '../interfaces';
|
|
3
|
-
/** typeof value === 'string' */
|
|
4
|
-
export declare function IsString(options?: ValidationOptions): PropertyDecorator;
|
|
5
|
-
/** typeof value === 'number' + NaN/Infinity/maxDecimalPlaces 옵션 */
|
|
6
|
-
export declare function IsNumber(numberOptions?: IsNumberOptions, options?: ValidationOptions): PropertyDecorator;
|
|
7
|
-
/** typeof value === 'boolean' */
|
|
8
|
-
export declare function IsBoolean(options?: ValidationOptions): PropertyDecorator;
|
|
9
|
-
/** value instanceof Date && !isNaN(getTime()) */
|
|
10
|
-
export declare function IsDate(options?: ValidationOptions): PropertyDecorator;
|
|
11
|
-
/** Object.values(entity).indexOf(value) !== -1 */
|
|
12
|
-
export declare function IsEnum(entity: object, options?: ValidationOptions): PropertyDecorator;
|
|
13
|
-
/** typeof value === 'number' && Number.isInteger(value) */
|
|
14
|
-
export declare function IsInt(options?: ValidationOptions): PropertyDecorator;
|
|
15
|
-
/** Array.isArray(value) */
|
|
16
|
-
export declare function IsArray(options?: ValidationOptions): PropertyDecorator;
|
|
17
|
-
/** typeof value === 'object' && value !== null && !Array.isArray(value) */
|
|
18
|
-
export declare function IsObject(options?: ValidationOptions): PropertyDecorator;
|