@resk/core
Version:
An innovative TypeScript framework that empowers developers to build applications with a fully decorator-based architecture for efficient resource management. By combining the power of decorators with a resource-oriented design, DecorRes enhances code cla
1 lines • 6.85 kB
JavaScript
'use strict';var i18n=require('../../../i18n');var F=Object.defineProperty;var R=Object.getOwnPropertySymbols;var x=Object.prototype.hasOwnProperty,A=Object.prototype.propertyIsEnumerable;var m=(t,s,i)=>s in t?F(t,s,{enumerable:true,configurable:true,writable:true,value:i}):t[s]=i,d=(t,s)=>{for(var i in s||(s={}))x.call(s,i)&&m(t,i,s[i]);if(R)for(var i of R(s))A.call(s,i)&&m(t,i,s[i]);return t};var V=(t,s)=>{var i={};for(var o in t)x.call(t,o)&&s.indexOf(o)<0&&(i[o]=t[o]);if(t!=null&&R)for(var o of R(t))s.indexOf(o)<0&&A.call(t,o)&&(i[o]=t[o]);return i};function E(l){var n=l,{value:t,ruleParams:s,context:i,fieldName:o,translatedPropertyName:g}=n,e=V(n,["value","ruleParams","context","fieldName","translatedPropertyName"]);return new Promise((r,a)=>{if(!s||s.length===0){const u=i18n.i18n.t("validator.invalidRuleParams",d({rule:"different",field:g||o},e));return a(u)}const p=(i==null?void 0:i.data)||i||{},c=s[0],I=p[c];if(t!==I)r(true);else {const u=i18n.i18n.t("validator.different",d({field:g||o,other:c,value:t},e));a(u);}})}function C(l){var n=l,{value:t,ruleParams:s,context:i,fieldName:o,translatedPropertyName:g}=n,e=V(n,["value","ruleParams","context","fieldName","translatedPropertyName"]);return new Promise((r,a)=>{if(!s||s.length===0){const u=i18n.i18n.t("validator.invalidRuleParams",d({rule:"same",field:g||o},e));return a(u)}const p=(i==null?void 0:i.data)||i||{},c=s[0],I=p[c];if(t===I)r(true);else {const u=i18n.i18n.t("validator.same",d({field:g||o,other:c,value:t},e));a(u);}})}function M(g){var e=g,{context:t,fieldName:s,translatedPropertyName:i}=e,o=V(e,["context","fieldName","translatedPropertyName"]);return new Promise((l,n)=>{var a;if(!((a=t==null?void 0:t.fieldExists)!=null?a:false))l(true);else {const p=i18n.i18n.t("validator.missing",d({field:i||s},o));n(p);}})}function J(e){var l=e,{value:t,ruleParams:s,fieldName:i,translatedPropertyName:o}=l,g=V(l,["value","ruleParams","fieldName","translatedPropertyName"]);return new Promise((n,r)=>{if(!s||s.length===0){const c=i18n.i18n.t("validator.invalidRuleParams",d({rule:"regex",field:o||i},g));return r(c)}if(typeof t!="string"){const c=i18n.i18n.t("validator.string",d({field:o||i,value:t},g));return r(c)}const a=s[0],p=s[1]||"";try{if(new RegExp(a,p).test(t))n(!0);else {const I=i18n.i18n.t("validator.regex",d({field:o||i,value:t,pattern:a},g));r(I);}}catch(c){const I=i18n.i18n.t("validator.invalidRegex",d({field:o||i,pattern:a,error:c.message},g));r(I);}})}function L(e){var l=e,{value:t,ruleParams:s,fieldName:i,translatedPropertyName:o}=l,g=V(l,["value","ruleParams","fieldName","translatedPropertyName"]);return new Promise((n,r)=>{if(!s||s.length===0){const c=i18n.i18n.t("validator.invalidRuleParams",d({rule:"not_regex",field:o||i},g));return r(c)}if(typeof t!="string"){const c=i18n.i18n.t("validator.string",d({field:o||i,value:t},g));return r(c)}const a=s[0],p=s[1]||"";try{if(!new RegExp(a,p).test(t))n(!0);else {const I=i18n.i18n.t("validator.notRegex",d({field:o||i,value:t,pattern:a},g));r(I);}}catch(c){const I=i18n.i18n.t("validator.invalidRegex",d({field:o||i,pattern:a,error:c.message},g));r(I);}})}function S(g){var e=g,{value:t,fieldName:s,translatedPropertyName:i}=e,o=V(e,["value","fieldName","translatedPropertyName"]);return new Promise((l,n)=>{if(typeof t!="string"){const r=i18n.i18n.t("validator.string",d({field:i||s,value:t},o));return n(r)}try{JSON.parse(t),l(!0);}catch(r){const a=i18n.i18n.t("validator.json",d({field:i||s,value:t},o));n(a);}})}function U(g){var e=g,{value:t,fieldName:s,translatedPropertyName:i}=e,o=V(e,["value","fieldName","translatedPropertyName"]);return new Promise((l,n)=>{if(typeof t!="string"){const r=i18n.i18n.t("validator.string",d({field:i||s,value:t},o));return n(r)}if(t===t.toLowerCase())l(true);else {const r=i18n.i18n.t("validator.lowercase",d({field:i||s,value:t},o));n(r);}})}function D(g){var e=g,{value:t,fieldName:s,translatedPropertyName:i}=e,o=V(e,["value","fieldName","translatedPropertyName"]);return new Promise((l,n)=>{if(typeof t!="string"){const r=i18n.i18n.t("validator.string",d({field:i||s,value:t},o));return n(r)}if(t===t.toUpperCase())l(true);else {const r=i18n.i18n.t("validator.uppercase",d({field:i||s,value:t},o));n(r);}})}function H(g){var e=g,{value:t,fieldName:s,translatedPropertyName:i}=e,o=V(e,["value","fieldName","translatedPropertyName"]);return new Promise((l,n)=>{if(typeof t!="string"){const p=i18n.i18n.t("validator.string",d({field:i||s,value:t},o));return n(p)}const r=t.startsWith("#")?t.slice(1):t;if(/^[0-9A-Fa-f]{3}$|^[0-9A-Fa-f]{6}$/.test(r))l(true);else {const p=i18n.i18n.t("validator.hexColor",d({field:i||s,value:t},o));n(p);}})}function P(g){var e=g,{value:t,fieldName:s,translatedPropertyName:i}=e,o=V(e,["value","fieldName","translatedPropertyName"]);return new Promise((l,n)=>{if(typeof t!="string"){const p=i18n.i18n.t("validator.string",d({field:i||s,value:t},o));return n(p)}if([/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/,/^([0-9A-Fa-f]{4}\.){2}([0-9A-Fa-f]{4})$/,/^[0-9A-Fa-f]{12}$/].some(p=>p.test(t)))l(true);else {const p=i18n.i18n.t("validator.macAddress",d({field:i||s,value:t},o));n(p);}})}function W(g){var e=g,{value:t,fieldName:s,translatedPropertyName:i}=e,o=V(e,["value","fieldName","translatedPropertyName"]);return new Promise((l,n)=>{if(typeof t!="string"){const c=i18n.i18n.t("validator.string",d({field:i||s,value:t},o));return n(c)}const r=/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,a=/^(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$|^::1$|^::$|^(?:[0-9a-fA-F]{1,4}:)*::(?:[0-9a-fA-F]{1,4}:)*[0-9a-fA-F]{1,4}$/;if(r.test(t)||a.test(t))l(true);else {const c=i18n.i18n.t("validator.ip",d({field:i||s,value:t},o));n(c);}})}function _(g){var e=g,{value:t,fieldName:s,translatedPropertyName:i}=e,o=V(e,["value","fieldName","translatedPropertyName"]);return new Promise((l,n)=>{if(typeof t!="string"){const a=i18n.i18n.t("validator.string",d({field:i||s,value:t},o));return n(a)}if(/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(t))l(true);else {const a=i18n.i18n.t("validator.ipv4",d({field:i||s,value:t},o));n(a);}})}function b(g){var e=g,{value:t,fieldName:s,translatedPropertyName:i}=e,o=V(e,["value","fieldName","translatedPropertyName"]);return new Promise((l,n)=>{if(typeof t!="string"){const a=i18n.i18n.t("validator.string",d({field:i||s,value:t},o));return n(a)}if(/^(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$|^::1$|^::$|^(?:[0-9a-fA-F]{1,4}:)*::(?:[0-9a-fA-F]{1,4}:)*[0-9a-fA-F]{1,4}$/.test(t))l(true);else {const a=i18n.i18n.t("validator.ipv6",d({field:i||s,value:t},o));n(a);}})}exports.Different=E;exports.HexColor=H;exports.Ip=W;exports.Ipv4=_;exports.Ipv6=b;exports.Json=S;exports.Lowercase=U;exports.MacAddress=P;exports.Missing=M;exports.NotRegex=L;exports.Regex=J;exports.Same=C;exports.Uppercase=D;