UNPKG

@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 4.9 kB
'use strict';var i18n=require('../../../i18n');var w=Object.defineProperty;var A=Object.getOwnPropertySymbols;var b=Object.prototype.hasOwnProperty,m=Object.prototype.propertyIsEnumerable;var R=(i,t,e)=>t in i?w(i,t,{enumerable:true,configurable:true,writable:true,value:e}):i[t]=e,a=(i,t)=>{for(var e in t||(t={}))b.call(t,e)&&R(i,e,t[e]);if(A)for(var e of A(t))m.call(t,e)&&R(i,e,t[e]);return i};var I=(i,t)=>{var e={};for(var n in i)b.call(i,n)&&t.indexOf(n)<0&&(e[n]=i[n]);if(i!=null&&A)for(var n of A(i))t.indexOf(n)<0&&m.call(i,n)&&(e[n]=i[n]);return e};function k(g){var d=g,{value:i,ruleParams:t,fieldName:e,translatedPropertyName:n}=d,l=I(d,["value","ruleParams","fieldName","translatedPropertyName"]);return new Promise((f,s)=>{if(!(Array.isArray(i)||typeof i=="object"&&i!==null&&!Array.isArray(i))){const u=i18n.i18n.t("validator.array",a({field:n||e,value:i},l));return s(u)}if(t&&t.length>0&&typeof i=="object"&&!Array.isArray(i)){const r=Object.keys(i).filter(y=>!t.includes(y));if(r.length>0){const y=i18n.i18n.t("validator.arrayKeys",a({field:n||e,invalidKeys:r.join(", "),allowedKeys:t.join(", ")},l));return s(y)}}f(true);})}function x(l){var g=l,{value:i,fieldName:t,translatedPropertyName:e}=g,n=I(g,["value","fieldName","translatedPropertyName"]);return new Promise((d,f)=>{let s=false;if((i==null||typeof i=="string"&&i.trim()===""||Array.isArray(i)&&i.length===0||typeof i=="object"&&Object.keys(i).length===0)&&(s=true),s){const o=i18n.i18n.t("validator.Filled",a({field:e||t},n));f(o);}else d(true);})}function F(g){var d=g,{value:i,ruleParams:t,fieldName:e,translatedPropertyName:n}=d,l=I(d,["value","ruleParams","fieldName","translatedPropertyName"]);return new Promise((f,s)=>{if(!t||t.length===0){const r=i18n.i18n.t("validator.invalidRuleParams",a({rule:"in",field:n||e},l));return s(r)}const o=String(i);if(t.includes(o))f(true);else {const r=i18n.i18n.t("validator.in",a({field:n||e,value:i,values:t.join(", ")},l));s(r);}})}function E(g){var d=g,{value:i,ruleParams:t,fieldName:e,translatedPropertyName:n}=d,l=I(d,["value","ruleParams","fieldName","translatedPropertyName"]);return new Promise((f,s)=>{if(!t||t.length===0){const r=i18n.i18n.t("validator.invalidRuleParams",a({rule:"not_in",field:n||e},l));return s(r)}const o=String(i);if(!(t.includes(o)||t.includes(i)))f(true);else {const r=i18n.i18n.t("validator.notIn",a({field:n||e,value:i,values:t.join(", ")},l));s(r);}})}function T(l){var g=l,{value:i,fieldName:t,translatedPropertyName:e}=g,n=I(g,["value","fieldName","translatedPropertyName"]);return new Promise((d,f)=>{let s=false;if((i==null||typeof i=="string"&&i.trim()===""||Array.isArray(i)&&i.length===0)&&(s=true),s){const o=i18n.i18n.t("validator.required",a({field:e||t},n));f(o);}else d(true);})}function _(d){var f=d,{value:i,ruleParams:t,context:e,fieldName:n,translatedPropertyName:l}=f,g=I(f,["value","ruleParams","context","fieldName","translatedPropertyName"]);return new Promise((s,o)=>{if(!t||t.length<2){const V=i18n.i18n.t("validator.invalidRuleParams",a({rule:"required_if",field:l||n},g));return o(V)}const u=(e==null?void 0:e.data)||e||{},r=t[0],y=t.slice(1),h=String(u[r]);if(y.includes(h)){let V=false;if((i==null||typeof i=="string"&&i.trim()===""||Array.isArray(i)&&i.length===0)&&(V=true),V){const O=i18n.i18n.t("validator.requiredIf",a({field:l||n,otherField:r,value:h},g));return o(O)}}s(true);})}function C(g){var d=g,{value:i,ruleParams:t,fieldName:e,translatedPropertyName:n}=d,l=I(d,["value","ruleParams","fieldName","translatedPropertyName"]);return new Promise((f,s)=>{if(!t||t.length===0){const r=i18n.i18n.t("validator.invalidRuleParams",a({rule:"size",field:n||e},l));return s(r)}let o;if(typeof i=="string")o=i.length;else if(Array.isArray(i))o=i.length;else if(typeof i=="number")o=i;else if(typeof i=="object"&&i!==null)o=Object.keys(i).length;else {const r=i18n.i18n.t("validator.invalidType",a({field:n||e,rule:"size"},l));return s(r)}let u=false;if(t.length===1){const r=Number(t[0]);u=o===r;}else if(t.length===2){const r=Number(t[0]),y=Number(t[1]);u=o>=r&&o<=y;}if(u)f(true);else {const r=i18n.i18n.t("validator.size",a({field:n||e,value:i,size:t.join("-"),actualSize:o},l));s(r);}})}function D(g){var d=g,{value:i,ruleParams:t,fieldName:e,translatedPropertyName:n}=d,l=I(d,["value","ruleParams","fieldName","translatedPropertyName"]);return new Promise((f,s)=>{if(!Array.isArray(i)){const p=i18n.i18n.t("validator.array",a({field:n||e,value:i},l));return s(p)}const o=t||[],u=o.includes("ignore_case");o.includes("strict");const y=new Set,h=[];for(const p of i){let V=p;u&&typeof p=="string"&&(V=p.toLowerCase()),y.has(V)?h.push(p):y.add(V);}if(h.length===0)f(true);else {const p=i18n.i18n.t("validator.distinct",a({field:n||e,duplicates:h.join(", ")},l));s(p);}})}exports.ArrayRule=k;exports.Distinct=D;exports.Filled=x;exports.InRule=F;exports.NotIn=E;exports.Required=T;exports.RequiredIf=_;exports.Size=C;