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 1.89 kB
'use strict';var R=require('../../utils/isNonNullString'),i18n=require('../../i18n'),validator=require('../validator');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var R__default=/*#__PURE__*/_interopDefault(R);var x=Object.defineProperty;var h=Object.getOwnPropertySymbols;var a=Object.prototype.hasOwnProperty,p=Object.prototype.propertyIsEnumerable;var V=(i,t,n)=>t in i?x(i,t,{enumerable:true,configurable:true,writable:true,value:n}):i[t]=n,r=(i,t)=>{for(var n in t||(t={}))a.call(t,n)&&V(i,n,t[n]);if(h)for(var n of h(t))p.call(t,n)&&V(i,n,t[n]);return i};var c=(i,t)=>{var n={};for(var o in i)a.call(i,o)&&t.indexOf(o)<0&&(n[o]=i[o]);if(i!=null&&h)for(var o of h(i))t.indexOf(o)<0&&p.call(i,o)&&(n[o]=i[o]);return n};function S(l){var f=l,{value:i,ruleParams:t,fieldName:n,translatedPropertyName:o}=f,d=c(f,["value","ruleParams","fieldName","translatedPropertyName"]);return new Promise((O,e)=>{if(typeof i!="string"){const s=i18n.i18n.t("validator.endsWithOneOf",r({field:o||n,value:i,endings:(t==null?void 0:t.join(", "))||""},d));return e(s)}if(!t||t.length===0){const s=i18n.i18n.t("validator.invalidRuleParams",r({rule:"EndsWithOneOf",field:o||n,ruleParams:t},d));return e(s)}if(t.some(s=>R__default.default(s)&&i.endsWith(s)))O(true);else {const s=i18n.i18n.t("validator.endsWithOneOf",r({field:o||n,value:i,endings:t.join(", ")},d));e(s);}})}validator.Validator.registerRule("EndsWithOneOf",S);const k=validator.Validator.createRuleDecorator(S);function A(d){var l=d,{value:i,fieldName:t,translatedPropertyName:n}=l,o=c(l,["value","fieldName","translatedPropertyName"]);return new Promise((f,O)=>{if(typeof i=="string")f(true);else {const e=i18n.i18n.t("validator.string",r({field:n||t,value:i},o));O(e);}})}validator.Validator.registerRule("String",A);const z=validator.Validator.createPropertyDecorator(["String"]);exports.EndsWithOneOf=k;exports.IsString=z;