n4s 4.2.3 → 4.3.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/dist/cjs/n4s.development.js +21 -7
- package/dist/cjs/n4s.production.js +1 -1
- package/dist/es/n4s.development.js +21 -7
- package/dist/es/n4s.production.js +1 -1
- package/dist/umd/n4s.development.js +21 -7
- package/dist/umd/n4s.production.js +1 -1
- package/package.json +4 -4
- package/types/n4s.d.ts +5 -1
- package/types/n4s.d.ts.map +1 -1
|
@@ -328,7 +328,10 @@ function validateResult(result) {
|
|
|
328
328
|
}
|
|
329
329
|
|
|
330
330
|
function enforceEager(value) {
|
|
331
|
-
var target = {
|
|
331
|
+
var target = {
|
|
332
|
+
message: message
|
|
333
|
+
};
|
|
334
|
+
var customMessage = undefined;
|
|
332
335
|
// This condition is for when we don't have proxy support (ES5).
|
|
333
336
|
// In this case, we need to manually assign the rules to the target object on runtime.
|
|
334
337
|
// The follow up proxy block is used in case we do have proxy support, and we can assign each rule upon invocation.
|
|
@@ -342,13 +345,14 @@ function enforceEager(value) {
|
|
|
342
345
|
}
|
|
343
346
|
// We create a proxy intercepting access to the target object (which is empty).
|
|
344
347
|
var proxy = new Proxy(target, {
|
|
345
|
-
get: function (_,
|
|
348
|
+
get: function (_, key) {
|
|
346
349
|
// On property access, we identify if it is a rule or not.
|
|
347
|
-
var rule = getRule(
|
|
350
|
+
var rule = getRule(key);
|
|
348
351
|
// If it is a rule, we wrap it with `genRuleCall` that adds the base enforce behavior
|
|
349
352
|
if (rule) {
|
|
350
|
-
return genRuleCall(proxy, rule,
|
|
353
|
+
return genRuleCall(proxy, rule, key);
|
|
351
354
|
}
|
|
355
|
+
return target[key];
|
|
352
356
|
}
|
|
353
357
|
});
|
|
354
358
|
return proxy;
|
|
@@ -368,14 +372,24 @@ function enforceEager(value) {
|
|
|
368
372
|
var transformedResult = ctx.run({ value: value }, function () {
|
|
369
373
|
return transformResult.apply(void 0, __spreadArray([rule.apply(void 0, __spreadArray([value], args, false)), ruleName, value], args, false));
|
|
370
374
|
});
|
|
375
|
+
function enforceMessage() {
|
|
376
|
+
if (!vestUtils.isNullish(customMessage))
|
|
377
|
+
return customMessage;
|
|
378
|
+
if (vestUtils.isNullish(transformedResult.message)) {
|
|
379
|
+
return "enforce/".concat(ruleName, " failed with ").concat(JSON.stringify(value));
|
|
380
|
+
}
|
|
381
|
+
return vestUtils.StringObject(transformedResult.message);
|
|
382
|
+
}
|
|
371
383
|
// On rule failure (the result is false), we either throw an error
|
|
372
384
|
// or throw a string value if the rule has a message defined in it.
|
|
373
|
-
vestUtils.invariant(transformedResult.pass,
|
|
374
|
-
? "enforce/".concat(ruleName, " failed with ").concat(JSON.stringify(value))
|
|
375
|
-
: vestUtils.StringObject(transformedResult.message));
|
|
385
|
+
vestUtils.invariant(transformedResult.pass, enforceMessage());
|
|
376
386
|
return target;
|
|
377
387
|
};
|
|
378
388
|
}
|
|
389
|
+
function message(input) {
|
|
390
|
+
customMessage = input;
|
|
391
|
+
return proxy;
|
|
392
|
+
}
|
|
379
393
|
}
|
|
380
394
|
|
|
381
395
|
// eslint-disable-next-line max-lines-per-function
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var n=require("vest-utils"),t=require("context");function r(t,r){return n.isStringValue(t)&&n.isStringValue(r)&&t.endsWith(r)}var i=n.bindNot(r);function e(n,t){return n===t}var u=n.bindNot(e);function s(t,r){return n.numberEquals(t,r)||n.greaterThan(t,r)}function o(t,r){return(n.isArray(r)||!(!n.isStringValue(r)||!n.isStringValue(t)))&&-1!==r.indexOf(t)}var a=n.bindNot(o);function l(t,r){return n.isNumeric(t)&&n.isNumeric(r)&&Number(t)<Number(r)}function c(t,r){return n.numberEquals(t,r)||l(t,r)}function f(n,t,r){return s(n,t)&&c(n,r)}var N=n.bindNot(f);function v(t){return n.isNullish(t)||n.isStringValue(t)&&!t.trim()}var g=n.bindNot(v),d=n.bindNot(n.isBoolean),h=function(t){return!!n.isNumeric(t)&&t%2==0};function p(n,t){return n in t}var m=n.bindNot(p);function y(n){return Number.isNaN(n)}var b=n.bindNot(y);function E(n){return l(n,0)}function q(n){return Boolean("number"==typeof n)}var S=n.bindNot(q),x=function(t){return!!n.isNumeric(t)&&t%2!=0},O=n.bindNot(n.isStringValue);function T(n){return!!n}var V=n.bindNot(T);function B(t,r){if(n.isNullish(r))return!1;for(var i in r)if(r[i]===t)return!0;return!1}var w=n.bindNot(B);function A(n,t){return s(n.length,t)}function P(t,r){return r instanceof RegExp?r.test(t):!!n.isStringValue(r)&&new RegExp(r).test(t)}var F=n.bindNot(P);function W(n,t){try{return t(n)}catch(n){return!1}}function U(n,t){return l(n.length,t)}function j(n,t){return c(n.length,t)}function k(t,r){return n.isStringValue(t)&&n.isStringValue(r)&&t.startsWith(r)}var I=n.bindNot(k);var J={condition:W,doesNotEndWith:i,doesNotStartWith:I,endsWith:r,equals:e,greaterThan:n.greaterThan,greaterThanOrEquals:s,gt:n.greaterThan,gte:s,inside:o,isArray:n.isArray,isBetween:f,isBlank:v,isBoolean:n.isBoolean,isEmpty:n.isEmpty,isEven:h,isFalsy:V,isKeyOf:p,isNaN:y,isNegative:E,isNotArray:n.isNotArray,isNotBetween:N,isNotBlank:g,isNotBoolean:d,isNotEmpty:n.isNotEmpty,isNotKeyOf:m,isNotNaN:b,isNotNull:n.isNotNull,isNotNullish:n.isNotNullish,isNotNumber:S,isNotNumeric:n.isNotNumeric,isNotString:O,isNotUndefined:n.isNotUndefined,isNotValueOf:w,isNull:n.isNull,isNullish:n.isNullish,isNumber:q,isNumeric:n.isNumeric,isOdd:x,isPositive:n.isPositive,isString:n.isStringValue,isTruthy:T,isUndefined:n.isUndefined,isValueOf:B,lengthEquals:n.lengthEquals,lengthNotEquals:n.lengthNotEquals,lessThan:l,lessThanOrEquals:c,longerThan:n.longerThan,longerThanOrEquals:A,lt:l,lte:c,matches:P,notEquals:u,notInside:a,notMatches:F,numberEquals:n.numberEquals,numberNotEquals:n.numberNotEquals,shorterThan:U,shorterThanOrEquals:j,startsWith:k};function K(n){return J[n]}function M(t){for(var r in J){var i=K(r);n.isFunction(i)&&t(r,i)}}var R=t.createCascade((function(t,r){var i={value:t.value,meta:t.meta||{}};return r?t.set?n.assign(i,{parent:function(){return function(n){if(!n)return null;return{value:n.value,meta:n.meta,parent:n.parent}}(r)}}):r:n.assign(i,{parent:_})}));function _(){return null}function C(n,t,r){if(r||2===arguments.length)for(var i,e=0,u=t.length;e<u;e++)!i&&e in t||(i||(i=Array.prototype.slice.call(t,0,e)),i[e]=t[e]);return n.concat(i||Array.prototype.slice.call(t))}function X(){try{return n.isFunction(Proxy)}catch(n){return!1}}function z(n,t){var r={pass:n};return t&&(r.message=t),r}function D(t){return n.defaultTo(t,z(!0))}function G(t,r,i){for(var e=[],u=3;u<arguments.length;u++)e[u-3]=arguments[u];return H(t),n.isBoolean(t)?z(t):z(t.pass,n.optionalFunctionValue.apply(void 0,C([t.message,r,i],e,!1)))}function H(t){n.invariant(n.isBoolean(t)||t&&n.isBoolean(t.pass),"Incorrect return value for rule: "+JSON.stringify(t))}function L(t){var r={};if(!X())return M((function(n,t){r[n]=
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var n=require("vest-utils"),t=require("context");function r(t,r){return n.isStringValue(t)&&n.isStringValue(r)&&t.endsWith(r)}var i=n.bindNot(r);function e(n,t){return n===t}var u=n.bindNot(e);function s(t,r){return n.numberEquals(t,r)||n.greaterThan(t,r)}function o(t,r){return(n.isArray(r)||!(!n.isStringValue(r)||!n.isStringValue(t)))&&-1!==r.indexOf(t)}var a=n.bindNot(o);function l(t,r){return n.isNumeric(t)&&n.isNumeric(r)&&Number(t)<Number(r)}function c(t,r){return n.numberEquals(t,r)||l(t,r)}function f(n,t,r){return s(n,t)&&c(n,r)}var N=n.bindNot(f);function v(t){return n.isNullish(t)||n.isStringValue(t)&&!t.trim()}var g=n.bindNot(v),d=n.bindNot(n.isBoolean),h=function(t){return!!n.isNumeric(t)&&t%2==0};function p(n,t){return n in t}var m=n.bindNot(p);function y(n){return Number.isNaN(n)}var b=n.bindNot(y);function E(n){return l(n,0)}function q(n){return Boolean("number"==typeof n)}var S=n.bindNot(q),x=function(t){return!!n.isNumeric(t)&&t%2!=0},O=n.bindNot(n.isStringValue);function T(n){return!!n}var V=n.bindNot(T);function B(t,r){if(n.isNullish(r))return!1;for(var i in r)if(r[i]===t)return!0;return!1}var w=n.bindNot(B);function A(n,t){return s(n.length,t)}function P(t,r){return r instanceof RegExp?r.test(t):!!n.isStringValue(r)&&new RegExp(r).test(t)}var F=n.bindNot(P);function W(n,t){try{return t(n)}catch(n){return!1}}function U(n,t){return l(n.length,t)}function j(n,t){return c(n.length,t)}function k(t,r){return n.isStringValue(t)&&n.isStringValue(r)&&t.startsWith(r)}var I=n.bindNot(k);var J={condition:W,doesNotEndWith:i,doesNotStartWith:I,endsWith:r,equals:e,greaterThan:n.greaterThan,greaterThanOrEquals:s,gt:n.greaterThan,gte:s,inside:o,isArray:n.isArray,isBetween:f,isBlank:v,isBoolean:n.isBoolean,isEmpty:n.isEmpty,isEven:h,isFalsy:V,isKeyOf:p,isNaN:y,isNegative:E,isNotArray:n.isNotArray,isNotBetween:N,isNotBlank:g,isNotBoolean:d,isNotEmpty:n.isNotEmpty,isNotKeyOf:m,isNotNaN:b,isNotNull:n.isNotNull,isNotNullish:n.isNotNullish,isNotNumber:S,isNotNumeric:n.isNotNumeric,isNotString:O,isNotUndefined:n.isNotUndefined,isNotValueOf:w,isNull:n.isNull,isNullish:n.isNullish,isNumber:q,isNumeric:n.isNumeric,isOdd:x,isPositive:n.isPositive,isString:n.isStringValue,isTruthy:T,isUndefined:n.isUndefined,isValueOf:B,lengthEquals:n.lengthEquals,lengthNotEquals:n.lengthNotEquals,lessThan:l,lessThanOrEquals:c,longerThan:n.longerThan,longerThanOrEquals:A,lt:l,lte:c,matches:P,notEquals:u,notInside:a,notMatches:F,numberEquals:n.numberEquals,numberNotEquals:n.numberNotEquals,shorterThan:U,shorterThanOrEquals:j,startsWith:k};function K(n){return J[n]}function M(t){for(var r in J){var i=K(r);n.isFunction(i)&&t(r,i)}}var R=t.createCascade((function(t,r){var i={value:t.value,meta:t.meta||{}};return r?t.set?n.assign(i,{parent:function(){return function(n){if(!n)return null;return{value:n.value,meta:n.meta,parent:n.parent}}(r)}}):r:n.assign(i,{parent:_})}));function _(){return null}function C(n,t,r){if(r||2===arguments.length)for(var i,e=0,u=t.length;e<u;e++)!i&&e in t||(i||(i=Array.prototype.slice.call(t,0,e)),i[e]=t[e]);return n.concat(i||Array.prototype.slice.call(t))}function X(){try{return n.isFunction(Proxy)}catch(n){return!1}}function z(n,t){var r={pass:n};return t&&(r.message=t),r}function D(t){return n.defaultTo(t,z(!0))}function G(t,r,i){for(var e=[],u=3;u<arguments.length;u++)e[u-3]=arguments[u];return H(t),n.isBoolean(t)?z(t):z(t.pass,n.optionalFunctionValue.apply(void 0,C([t.message,r,i],e,!1)))}function H(t){n.invariant(n.isBoolean(t)||t&&n.isBoolean(t.pass),"Incorrect return value for rule: "+JSON.stringify(t))}function L(t){var r={message:function(n){return i=n,e}},i=void 0;if(!X())return M((function(n,t){r[n]=u(r,t,n)})),r;var e=new Proxy(r,{get:function(n,t){var i=K(t);return i?u(e,i,t):r[t]}});return e;function u(r,e,u){return function(){for(var s=[],o=0;o<arguments.length;o++)s[o]=arguments[o];var a=R.run({value:t},(function(){return G.apply(void 0,C([e.apply(void 0,C([t],s,!1)),u,t],s,!1))}));function l(){return n.isNullish(i)?n.isNullish(a.message)?"enforce/".concat(u," failed with ").concat(JSON.stringify(t)):n.StringObject(a.message):i}return n.invariant(a.pass,l()),r}}}function Q(t){var r,i=[];return function t(e){return function(){for(var u=[],s=0;s<arguments.length;s++)u[s]=arguments[s];var o=K(e);i.push((function(n){return G.apply(void 0,C([o.apply(void 0,C([n],u,!1)),e,n],u,!1))}));var a={run:function(t){return D(n.mapFirst(i,(function(i,e){var u,s=R.run({value:t},(function(){return i(t)}));e(!s.pass,z(!!s.pass,null!==(u=n.optionalFunctionValue(r,t,s.message))&&void 0!==u?u:s.message))})))},test:function(n){return a.run(n).pass},message:function(n){return n&&(r=n),a}};return X()?(a=new Proxy(a,{get:function(n,r){return K(r)?t(r):n[r]}}),a):(M((function(n){a[n]=t(n)})),a)}}(t)}var Y=function(){var t={context:function(){return R.useX()},extend:function(t){n.assign(J,t),r()}};return r(),new Proxy(n.assign(L,t),{get:function(n,t){return t in n?n[t]:K(t)?Q(t):void 0}});function r(){if(!X())return M((function(n){t[n]=Q(n)})),n.assign(L,t)}}();exports.ctx=R,exports.enforce=Y;
|
|
@@ -324,7 +324,10 @@ function validateResult(result) {
|
|
|
324
324
|
}
|
|
325
325
|
|
|
326
326
|
function enforceEager(value) {
|
|
327
|
-
var target = {
|
|
327
|
+
var target = {
|
|
328
|
+
message: message
|
|
329
|
+
};
|
|
330
|
+
var customMessage = undefined;
|
|
328
331
|
// This condition is for when we don't have proxy support (ES5).
|
|
329
332
|
// In this case, we need to manually assign the rules to the target object on runtime.
|
|
330
333
|
// The follow up proxy block is used in case we do have proxy support, and we can assign each rule upon invocation.
|
|
@@ -338,13 +341,14 @@ function enforceEager(value) {
|
|
|
338
341
|
}
|
|
339
342
|
// We create a proxy intercepting access to the target object (which is empty).
|
|
340
343
|
var proxy = new Proxy(target, {
|
|
341
|
-
get: function (_,
|
|
344
|
+
get: function (_, key) {
|
|
342
345
|
// On property access, we identify if it is a rule or not.
|
|
343
|
-
var rule = getRule(
|
|
346
|
+
var rule = getRule(key);
|
|
344
347
|
// If it is a rule, we wrap it with `genRuleCall` that adds the base enforce behavior
|
|
345
348
|
if (rule) {
|
|
346
|
-
return genRuleCall(proxy, rule,
|
|
349
|
+
return genRuleCall(proxy, rule, key);
|
|
347
350
|
}
|
|
351
|
+
return target[key];
|
|
348
352
|
}
|
|
349
353
|
});
|
|
350
354
|
return proxy;
|
|
@@ -364,14 +368,24 @@ function enforceEager(value) {
|
|
|
364
368
|
var transformedResult = ctx.run({ value: value }, function () {
|
|
365
369
|
return transformResult.apply(void 0, __spreadArray([rule.apply(void 0, __spreadArray([value], args, false)), ruleName, value], args, false));
|
|
366
370
|
});
|
|
371
|
+
function enforceMessage() {
|
|
372
|
+
if (!isNullish(customMessage))
|
|
373
|
+
return customMessage;
|
|
374
|
+
if (isNullish(transformedResult.message)) {
|
|
375
|
+
return "enforce/".concat(ruleName, " failed with ").concat(JSON.stringify(value));
|
|
376
|
+
}
|
|
377
|
+
return StringObject(transformedResult.message);
|
|
378
|
+
}
|
|
367
379
|
// On rule failure (the result is false), we either throw an error
|
|
368
380
|
// or throw a string value if the rule has a message defined in it.
|
|
369
|
-
invariant(transformedResult.pass,
|
|
370
|
-
? "enforce/".concat(ruleName, " failed with ").concat(JSON.stringify(value))
|
|
371
|
-
: StringObject(transformedResult.message));
|
|
381
|
+
invariant(transformedResult.pass, enforceMessage());
|
|
372
382
|
return target;
|
|
373
383
|
};
|
|
374
384
|
}
|
|
385
|
+
function message(input) {
|
|
386
|
+
customMessage = input;
|
|
387
|
+
return proxy;
|
|
388
|
+
}
|
|
375
389
|
}
|
|
376
390
|
|
|
377
391
|
// eslint-disable-next-line max-lines-per-function
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{bindNot as n,isStringValue as t,numberEquals as r,greaterThan as e,isArray as u,isNumeric as i,isNullish as o,isBoolean as a,isEmpty as s,isNotArray as f,isNotEmpty as c,isNotNull as l,isNotNullish as v,isNotNumeric as N,isNotUndefined as h,isNull as
|
|
1
|
+
import{bindNot as n,isStringValue as t,numberEquals as r,greaterThan as e,isArray as u,isNumeric as i,isNullish as o,isBoolean as a,isEmpty as s,isNotArray as f,isNotEmpty as c,isNotNull as l,isNotNullish as v,isNotNumeric as N,isNotUndefined as h,isNull as g,isPositive as p,isUndefined as m,lengthEquals as y,lengthNotEquals as d,longerThan as E,numberNotEquals as O,isFunction as x,assign as q,defaultTo as T,optionalFunctionValue as b,invariant as w,StringObject as B,mapFirst as W}from"vest-utils";import{createCascade as P}from"context";function S(n,r){return t(n)&&t(r)&&n.endsWith(r)}var A=n(S);function k(n,t){return n===t}var I=n(k);function J(n,t){return r(n,t)||e(n,t)}function K(n,r){return(u(r)||!(!t(r)||!t(n)))&&-1!==r.indexOf(n)}var R=n(K);function U(n,t){return i(n)&&i(t)&&Number(n)<Number(t)}function V(n,t){return r(n,t)||U(n,t)}function F(n,t,r){return J(n,t)&&V(n,r)}var M=n(F);function X(n){return o(n)||t(n)&&!n.trim()}var j=n(X),z=n(a),C=function(n){return!!i(n)&&n%2==0};function D(n,t){return n in t}var G=n(D);function H(n){return Number.isNaN(n)}var L=n(H);function Q(n){return U(n,0)}function Y(n){return Boolean("number"==typeof n)}var Z=n(Y),$=function(n){return!!i(n)&&n%2!=0},_=n(t);function nn(n){return!!n}var tn=n(nn);function rn(n,t){if(o(t))return!1;for(var r in t)if(t[r]===n)return!0;return!1}var en=n(rn);function un(n,t){return J(n.length,t)}function on(n,r){return r instanceof RegExp?r.test(n):!!t(r)&&new RegExp(r).test(n)}var an=n(on);function sn(n,t){try{return t(n)}catch(n){return!1}}function fn(n,t){return U(n.length,t)}function cn(n,t){return V(n.length,t)}function ln(n,r){return t(n)&&t(r)&&n.startsWith(r)}var vn=n(ln);var Nn={condition:sn,doesNotEndWith:A,doesNotStartWith:vn,endsWith:S,equals:k,greaterThan:e,greaterThanOrEquals:J,gt:e,gte:J,inside:K,isArray:u,isBetween:F,isBlank:X,isBoolean:a,isEmpty:s,isEven:C,isFalsy:tn,isKeyOf:D,isNaN:H,isNegative:Q,isNotArray:f,isNotBetween:M,isNotBlank:j,isNotBoolean:z,isNotEmpty:c,isNotKeyOf:G,isNotNaN:L,isNotNull:l,isNotNullish:v,isNotNumber:Z,isNotNumeric:N,isNotString:_,isNotUndefined:h,isNotValueOf:en,isNull:g,isNullish:o,isNumber:Y,isNumeric:i,isOdd:$,isPositive:p,isString:t,isTruthy:nn,isUndefined:m,isValueOf:rn,lengthEquals:y,lengthNotEquals:d,lessThan:U,lessThanOrEquals:V,longerThan:E,longerThanOrEquals:un,lt:U,lte:V,matches:on,notEquals:I,notInside:R,notMatches:an,numberEquals:r,numberNotEquals:O,shorterThan:fn,shorterThanOrEquals:cn,startsWith:ln};function hn(n){return Nn[n]}function gn(n){for(var t in Nn){var r=hn(t);x(r)&&n(t,r)}}var pn=P((function(n,t){var r={value:n.value,meta:n.meta||{}};return t?n.set?q(r,{parent:function(){return function(n){if(!n)return null;return{value:n.value,meta:n.meta,parent:n.parent}}(t)}}):t:q(r,{parent:mn})}));function mn(){return null}function yn(n,t,r){if(r||2===arguments.length)for(var e,u=0,i=t.length;u<i;u++)!e&&u in t||(e||(e=Array.prototype.slice.call(t,0,u)),e[u]=t[u]);return n.concat(e||Array.prototype.slice.call(t))}function dn(){try{return x(Proxy)}catch(n){return!1}}function En(n,t){var r={pass:n};return t&&(r.message=t),r}function On(n){return T(n,En(!0))}function xn(n,t,r){for(var e=[],u=3;u<arguments.length;u++)e[u-3]=arguments[u];return qn(n),a(n)?En(n):En(n.pass,b.apply(void 0,yn([n.message,t,r],e,!1)))}function qn(n){w(a(n)||n&&a(n.pass),"Incorrect return value for rule: "+JSON.stringify(n))}function Tn(n){var t={message:function(n){return r=n,e}},r=void 0;if(!dn())return gn((function(n,r){t[n]=u(t,r,n)})),t;var e=new Proxy(t,{get:function(n,r){var i=hn(r);return i?u(e,i,r):t[r]}});return e;function u(t,e,u){return function(){for(var i=[],a=0;a<arguments.length;a++)i[a]=arguments[a];var s=pn.run({value:n},(function(){return xn.apply(void 0,yn([e.apply(void 0,yn([n],i,!1)),u,n],i,!1))}));function f(){return o(r)?o(s.message)?"enforce/".concat(u," failed with ").concat(JSON.stringify(n)):B(s.message):r}return w(s.pass,f()),t}}}function bn(n){var t,r=[];return function n(e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];var o=hn(e);r.push((function(n){return xn.apply(void 0,yn([o.apply(void 0,yn([n],u,!1)),e,n],u,!1))}));var a={run:function(n){return On(W(r,(function(r,e){var u,i=pn.run({value:n},(function(){return r(n)}));e(!i.pass,En(!!i.pass,null!==(u=b(t,n,i.message))&&void 0!==u?u:i.message))})))},test:function(n){return a.run(n).pass},message:function(n){return n&&(t=n),a}};return dn()?(a=new Proxy(a,{get:function(t,r){return hn(r)?n(r):t[r]}}),a):(gn((function(t){a[t]=n(t)})),a)}}(n)}var wn=function(){var n={context:function(){return pn.useX()},extend:function(n){q(Nn,n),t()}};return t(),new Proxy(q(Tn,n),{get:function(n,t){return t in n?n[t]:hn(t)?bn(t):void 0}});function t(){if(!dn())return gn((function(t){n[t]=bn(t)})),q(Tn,n)}}();export{pn as ctx,wn as enforce};
|
|
@@ -327,7 +327,10 @@
|
|
|
327
327
|
}
|
|
328
328
|
|
|
329
329
|
function enforceEager(value) {
|
|
330
|
-
var target = {
|
|
330
|
+
var target = {
|
|
331
|
+
message: message
|
|
332
|
+
};
|
|
333
|
+
var customMessage = undefined;
|
|
331
334
|
// This condition is for when we don't have proxy support (ES5).
|
|
332
335
|
// In this case, we need to manually assign the rules to the target object on runtime.
|
|
333
336
|
// The follow up proxy block is used in case we do have proxy support, and we can assign each rule upon invocation.
|
|
@@ -341,13 +344,14 @@
|
|
|
341
344
|
}
|
|
342
345
|
// We create a proxy intercepting access to the target object (which is empty).
|
|
343
346
|
var proxy = new Proxy(target, {
|
|
344
|
-
get: function (_,
|
|
347
|
+
get: function (_, key) {
|
|
345
348
|
// On property access, we identify if it is a rule or not.
|
|
346
|
-
var rule = getRule(
|
|
349
|
+
var rule = getRule(key);
|
|
347
350
|
// If it is a rule, we wrap it with `genRuleCall` that adds the base enforce behavior
|
|
348
351
|
if (rule) {
|
|
349
|
-
return genRuleCall(proxy, rule,
|
|
352
|
+
return genRuleCall(proxy, rule, key);
|
|
350
353
|
}
|
|
354
|
+
return target[key];
|
|
351
355
|
}
|
|
352
356
|
});
|
|
353
357
|
return proxy;
|
|
@@ -367,14 +371,24 @@
|
|
|
367
371
|
var transformedResult = ctx.run({ value: value }, function () {
|
|
368
372
|
return transformResult.apply(void 0, __spreadArray([rule.apply(void 0, __spreadArray([value], args, false)), ruleName, value], args, false));
|
|
369
373
|
});
|
|
374
|
+
function enforceMessage() {
|
|
375
|
+
if (!vestUtils.isNullish(customMessage))
|
|
376
|
+
return customMessage;
|
|
377
|
+
if (vestUtils.isNullish(transformedResult.message)) {
|
|
378
|
+
return "enforce/".concat(ruleName, " failed with ").concat(JSON.stringify(value));
|
|
379
|
+
}
|
|
380
|
+
return vestUtils.StringObject(transformedResult.message);
|
|
381
|
+
}
|
|
370
382
|
// On rule failure (the result is false), we either throw an error
|
|
371
383
|
// or throw a string value if the rule has a message defined in it.
|
|
372
|
-
vestUtils.invariant(transformedResult.pass,
|
|
373
|
-
? "enforce/".concat(ruleName, " failed with ").concat(JSON.stringify(value))
|
|
374
|
-
: vestUtils.StringObject(transformedResult.message));
|
|
384
|
+
vestUtils.invariant(transformedResult.pass, enforceMessage());
|
|
375
385
|
return target;
|
|
376
386
|
};
|
|
377
387
|
}
|
|
388
|
+
function message(input) {
|
|
389
|
+
customMessage = input;
|
|
390
|
+
return proxy;
|
|
391
|
+
}
|
|
378
392
|
}
|
|
379
393
|
|
|
380
394
|
// eslint-disable-next-line max-lines-per-function
|
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vest-utils"),require("context")):"function"==typeof define&&define.amd?define(["exports","vest-utils","context"],t):t((n="undefined"!=typeof globalThis?globalThis:n||self).n4s={},n["vest-utils"],n.context)}(this,(function(n,t,r){"use strict";function e(n,r){return t.isStringValue(n)&&t.isStringValue(r)&&n.endsWith(r)}var i=t.bindNot(e);function u(n,t){return n===t}var o=t.bindNot(u);function s(n,r){return t.numberEquals(n,r)||t.greaterThan(n,r)}function a(n,r){return(t.isArray(r)||!(!t.isStringValue(r)||!t.isStringValue(n)))&&-1!==r.indexOf(n)}var l=t.bindNot(a);function c(n,r){return t.isNumeric(n)&&t.isNumeric(r)&&Number(n)<Number(r)}function f(n,r){return t.numberEquals(n,r)||c(n,r)}function N(n,t,r){return s(n,t)&&f(n,r)}var g=t.bindNot(N);function v(n){return t.isNullish(n)||t.isStringValue(n)&&!n.trim()}var d=t.bindNot(v),h=t.bindNot(t.isBoolean),p=function(n){return!!t.isNumeric(n)&&n%2==0};function m(n,t){return n in t}var y=t.bindNot(m);function b(n){return Number.isNaN(n)}var E=t.bindNot(b);function q(n){return c(n,0)}function x(n){return Boolean("number"==typeof n)}var S=t.bindNot(x),T=function(n){return!!t.isNumeric(n)&&n%2!=0},O=t.bindNot(t.isStringValue);function V(n){return!!n}var B=t.bindNot(V);function w(n,r){if(t.isNullish(r))return!1;for(var e in r)if(r[e]===n)return!0;return!1}var A=t.bindNot(w);function P(n,t){return s(n.length,t)}function F(n,r){return r instanceof RegExp?r.test(n):!!t.isStringValue(r)&&new RegExp(r).test(n)}var W=t.bindNot(F);function U(n,t){try{return t(n)}catch(n){return!1}}function j(n,t){return c(n.length,t)}function k(n,t){return f(n.length,t)}function I(n,r){return t.isStringValue(n)&&t.isStringValue(r)&&n.startsWith(r)}var J=t.bindNot(I);var K={condition:U,doesNotEndWith:i,doesNotStartWith:J,endsWith:e,equals:u,greaterThan:t.greaterThan,greaterThanOrEquals:s,gt:t.greaterThan,gte:s,inside:a,isArray:t.isArray,isBetween:N,isBlank:v,isBoolean:t.isBoolean,isEmpty:t.isEmpty,isEven:p,isFalsy:B,isKeyOf:m,isNaN:b,isNegative:q,isNotArray:t.isNotArray,isNotBetween:g,isNotBlank:d,isNotBoolean:h,isNotEmpty:t.isNotEmpty,isNotKeyOf:y,isNotNaN:E,isNotNull:t.isNotNull,isNotNullish:t.isNotNullish,isNotNumber:S,isNotNumeric:t.isNotNumeric,isNotString:O,isNotUndefined:t.isNotUndefined,isNotValueOf:A,isNull:t.isNull,isNullish:t.isNullish,isNumber:x,isNumeric:t.isNumeric,isOdd:T,isPositive:t.isPositive,isString:t.isStringValue,isTruthy:V,isUndefined:t.isUndefined,isValueOf:w,lengthEquals:t.lengthEquals,lengthNotEquals:t.lengthNotEquals,lessThan:c,lessThanOrEquals:f,longerThan:t.longerThan,longerThanOrEquals:P,lt:c,lte:f,matches:F,notEquals:o,notInside:l,notMatches:W,numberEquals:t.numberEquals,numberNotEquals:t.numberNotEquals,shorterThan:j,shorterThanOrEquals:k,startsWith:I};function M(n){return K[n]}function R(n){for(var r in K){var e=M(r);t.isFunction(e)&&n(r,e)}}var _=r.createCascade((function(n,r){var e={value:n.value,meta:n.meta||{}};return r?n.set?t.assign(e,{parent:function(){return function(n){if(!n)return null;return{value:n.value,meta:n.meta,parent:n.parent}}(r)}}):r:t.assign(e,{parent:C})}));function C(){return null}function X(n,t,r){if(r||2===arguments.length)for(var e,i=0,u=t.length;i<u;i++)!e&&i in t||(e||(e=Array.prototype.slice.call(t,0,i)),e[i]=t[i]);return n.concat(e||Array.prototype.slice.call(t))}function z(){try{return t.isFunction(Proxy)}catch(n){return!1}}function D(n,t){var r={pass:n};return t&&(r.message=t),r}function G(n){return t.defaultTo(n,D(!0))}function H(n,r,e){for(var i=[],u=3;u<arguments.length;u++)i[u-3]=arguments[u];return L(n),t.isBoolean(n)?D(n):D(n.pass,t.optionalFunctionValue.apply(void 0,X([n.message,r,e],i,!1)))}function L(n){t.invariant(t.isBoolean(n)||n&&t.isBoolean(n.pass),"Incorrect return value for rule: "+JSON.stringify(n))}function Q(n){var r={};if(!z())return R((function(n,t){r[n]=
|
|
1
|
+
!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vest-utils"),require("context")):"function"==typeof define&&define.amd?define(["exports","vest-utils","context"],t):t((n="undefined"!=typeof globalThis?globalThis:n||self).n4s={},n["vest-utils"],n.context)}(this,(function(n,t,r){"use strict";function e(n,r){return t.isStringValue(n)&&t.isStringValue(r)&&n.endsWith(r)}var i=t.bindNot(e);function u(n,t){return n===t}var o=t.bindNot(u);function s(n,r){return t.numberEquals(n,r)||t.greaterThan(n,r)}function a(n,r){return(t.isArray(r)||!(!t.isStringValue(r)||!t.isStringValue(n)))&&-1!==r.indexOf(n)}var l=t.bindNot(a);function c(n,r){return t.isNumeric(n)&&t.isNumeric(r)&&Number(n)<Number(r)}function f(n,r){return t.numberEquals(n,r)||c(n,r)}function N(n,t,r){return s(n,t)&&f(n,r)}var g=t.bindNot(N);function v(n){return t.isNullish(n)||t.isStringValue(n)&&!n.trim()}var d=t.bindNot(v),h=t.bindNot(t.isBoolean),p=function(n){return!!t.isNumeric(n)&&n%2==0};function m(n,t){return n in t}var y=t.bindNot(m);function b(n){return Number.isNaN(n)}var E=t.bindNot(b);function q(n){return c(n,0)}function x(n){return Boolean("number"==typeof n)}var S=t.bindNot(x),T=function(n){return!!t.isNumeric(n)&&n%2!=0},O=t.bindNot(t.isStringValue);function V(n){return!!n}var B=t.bindNot(V);function w(n,r){if(t.isNullish(r))return!1;for(var e in r)if(r[e]===n)return!0;return!1}var A=t.bindNot(w);function P(n,t){return s(n.length,t)}function F(n,r){return r instanceof RegExp?r.test(n):!!t.isStringValue(r)&&new RegExp(r).test(n)}var W=t.bindNot(F);function U(n,t){try{return t(n)}catch(n){return!1}}function j(n,t){return c(n.length,t)}function k(n,t){return f(n.length,t)}function I(n,r){return t.isStringValue(n)&&t.isStringValue(r)&&n.startsWith(r)}var J=t.bindNot(I);var K={condition:U,doesNotEndWith:i,doesNotStartWith:J,endsWith:e,equals:u,greaterThan:t.greaterThan,greaterThanOrEquals:s,gt:t.greaterThan,gte:s,inside:a,isArray:t.isArray,isBetween:N,isBlank:v,isBoolean:t.isBoolean,isEmpty:t.isEmpty,isEven:p,isFalsy:B,isKeyOf:m,isNaN:b,isNegative:q,isNotArray:t.isNotArray,isNotBetween:g,isNotBlank:d,isNotBoolean:h,isNotEmpty:t.isNotEmpty,isNotKeyOf:y,isNotNaN:E,isNotNull:t.isNotNull,isNotNullish:t.isNotNullish,isNotNumber:S,isNotNumeric:t.isNotNumeric,isNotString:O,isNotUndefined:t.isNotUndefined,isNotValueOf:A,isNull:t.isNull,isNullish:t.isNullish,isNumber:x,isNumeric:t.isNumeric,isOdd:T,isPositive:t.isPositive,isString:t.isStringValue,isTruthy:V,isUndefined:t.isUndefined,isValueOf:w,lengthEquals:t.lengthEquals,lengthNotEquals:t.lengthNotEquals,lessThan:c,lessThanOrEquals:f,longerThan:t.longerThan,longerThanOrEquals:P,lt:c,lte:f,matches:F,notEquals:o,notInside:l,notMatches:W,numberEquals:t.numberEquals,numberNotEquals:t.numberNotEquals,shorterThan:j,shorterThanOrEquals:k,startsWith:I};function M(n){return K[n]}function R(n){for(var r in K){var e=M(r);t.isFunction(e)&&n(r,e)}}var _=r.createCascade((function(n,r){var e={value:n.value,meta:n.meta||{}};return r?n.set?t.assign(e,{parent:function(){return function(n){if(!n)return null;return{value:n.value,meta:n.meta,parent:n.parent}}(r)}}):r:t.assign(e,{parent:C})}));function C(){return null}function X(n,t,r){if(r||2===arguments.length)for(var e,i=0,u=t.length;i<u;i++)!e&&i in t||(e||(e=Array.prototype.slice.call(t,0,i)),e[i]=t[i]);return n.concat(e||Array.prototype.slice.call(t))}function z(){try{return t.isFunction(Proxy)}catch(n){return!1}}function D(n,t){var r={pass:n};return t&&(r.message=t),r}function G(n){return t.defaultTo(n,D(!0))}function H(n,r,e){for(var i=[],u=3;u<arguments.length;u++)i[u-3]=arguments[u];return L(n),t.isBoolean(n)?D(n):D(n.pass,t.optionalFunctionValue.apply(void 0,X([n.message,r,e],i,!1)))}function L(n){t.invariant(t.isBoolean(n)||n&&t.isBoolean(n.pass),"Incorrect return value for rule: "+JSON.stringify(n))}function Q(n){var r={message:function(n){return e=n,i}},e=void 0;if(!z())return R((function(n,t){r[n]=u(r,t,n)})),r;var i=new Proxy(r,{get:function(n,t){var e=M(t);return e?u(i,e,t):r[t]}});return i;function u(r,i,u){return function(){for(var o=[],s=0;s<arguments.length;s++)o[s]=arguments[s];var a=_.run({value:n},(function(){return H.apply(void 0,X([i.apply(void 0,X([n],o,!1)),u,n],o,!1))}));function l(){return t.isNullish(e)?t.isNullish(a.message)?"enforce/".concat(u," failed with ").concat(JSON.stringify(n)):t.StringObject(a.message):e}return t.invariant(a.pass,l()),r}}}function Y(n){var r,e=[];return function n(i){return function(){for(var u=[],o=0;o<arguments.length;o++)u[o]=arguments[o];var s=M(i);e.push((function(n){return H.apply(void 0,X([s.apply(void 0,X([n],u,!1)),i,n],u,!1))}));var a={run:function(n){return G(t.mapFirst(e,(function(e,i){var u,o=_.run({value:n},(function(){return e(n)}));i(!o.pass,D(!!o.pass,null!==(u=t.optionalFunctionValue(r,n,o.message))&&void 0!==u?u:o.message))})))},test:function(n){return a.run(n).pass},message:function(n){return n&&(r=n),a}};return z()?(a=new Proxy(a,{get:function(t,r){return M(r)?n(r):t[r]}}),a):(R((function(t){a[t]=n(t)})),a)}}(n)}var Z=function(){var n={context:function(){return _.useX()},extend:function(n){t.assign(K,n),r()}};return r(),new Proxy(t.assign(Q,n),{get:function(n,t){return t in n?n[t]:M(t)?Y(t):void 0}});function r(){if(!z())return R((function(t){n[t]=Y(t)})),t.assign(Q,n)}}();n.ctx=_,n.enforce=Z,Object.defineProperty(n,"__esModule",{value:!0})}));
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "4.
|
|
2
|
+
"version": "4.3.0",
|
|
3
3
|
"license": "MIT",
|
|
4
4
|
"main": "./dist/cjs/n4s.js",
|
|
5
5
|
"types": "./types/n4s.d.ts",
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
"release": "vx release"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"context": "^3.0.
|
|
14
|
-
"vest-utils": "^0.0.
|
|
13
|
+
"context": "^3.0.3",
|
|
14
|
+
"vest-utils": "^0.0.4"
|
|
15
15
|
},
|
|
16
16
|
"module": "./dist/es/n4s.production.js",
|
|
17
17
|
"exports": {
|
|
@@ -126,7 +126,7 @@
|
|
|
126
126
|
"default": "./dist/cjs/n4s.production.js"
|
|
127
127
|
},
|
|
128
128
|
"./package.json": "./package.json",
|
|
129
|
-
"
|
|
129
|
+
"./*": "./*"
|
|
130
130
|
},
|
|
131
131
|
"repository": {
|
|
132
132
|
"type": "git",
|
package/types/n4s.d.ts
CHANGED
|
@@ -119,7 +119,11 @@ declare global {
|
|
|
119
119
|
}
|
|
120
120
|
}
|
|
121
121
|
type IRules = n4s.IRules<Record<string, any>>;
|
|
122
|
-
type
|
|
122
|
+
type TModifiers = {
|
|
123
|
+
message: (input: string) => EnforceEagerReturn;
|
|
124
|
+
};
|
|
125
|
+
type EnforceEagerReturn = IRules & TModifiers;
|
|
126
|
+
type EnforceEager = (value: RuleValue) => EnforceEagerReturn;
|
|
123
127
|
type LazyRules = n4s.IRules<LazyRuleMethods>;
|
|
124
128
|
type Lazy = LazyRules & LazyRuleMethods &
|
|
125
129
|
// This is a "catch all" hack to make TS happy while not
|
package/types/n4s.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"n4s.d.ts","sourceRoot":"","sources":["../src/n4s.ts","../src/lib/ruleReturn.ts","../src/rules/endsWith.ts","../src/rules/equals.ts","../src/rules/greaterThanOrEquals.ts","../src/rules/inside.ts","../src/rules/lessThan.ts","../src/rules/lessThanOrEquals.ts","../src/rules/isBetween.ts","../src/rules/isBlank.ts","../src/rules/isBoolean.ts","../src/rules/isEven.ts","../src/rules/isKeyOf.ts","../src/rules/isNaN.ts","../src/rules/isNegative.ts","../src/rules/isNumber.ts","../src/rules/isOdd.ts","../src/rules/isString.ts","../src/rules/isTruthy.ts","../src/rules/isValueOf.ts","../src/rules/longerThanOrEquals.ts","../src/rules/matches.ts","../src/rules/ruleCondition.ts","../src/rules/shorterThan.ts","../src/rules/shorterThanOrEquals.ts","../src/rules/startsWith.ts","../src/runtime/rules.ts","../src/runtime/runtimeRules.ts","../src/lib/eachEnforceRule.ts","../src/runtime/enforceContext.ts","../src/lib/isProxySupported.ts","../src/lib/transformResult.ts","../src/runtime/enforceEager.ts","../src/runtime/genEnforceLazy.ts","../src/runtime/enforce.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"n4s.d.ts","sourceRoot":"","sources":["../src/n4s.ts","../src/lib/ruleReturn.ts","../src/rules/endsWith.ts","../src/rules/equals.ts","../src/rules/greaterThanOrEquals.ts","../src/rules/inside.ts","../src/rules/lessThan.ts","../src/rules/lessThanOrEquals.ts","../src/rules/isBetween.ts","../src/rules/isBlank.ts","../src/rules/isBoolean.ts","../src/rules/isEven.ts","../src/rules/isKeyOf.ts","../src/rules/isNaN.ts","../src/rules/isNegative.ts","../src/rules/isNumber.ts","../src/rules/isOdd.ts","../src/rules/isString.ts","../src/rules/isTruthy.ts","../src/rules/isValueOf.ts","../src/rules/longerThanOrEquals.ts","../src/rules/matches.ts","../src/rules/ruleCondition.ts","../src/rules/shorterThan.ts","../src/rules/shorterThanOrEquals.ts","../src/rules/startsWith.ts","../src/runtime/rules.ts","../src/runtime/runtimeRules.ts","../src/lib/eachEnforceRule.ts","../src/runtime/enforceContext.ts","../src/lib/isProxySupported.ts","../src/lib/transformResult.ts","../src/runtime/enforceEager.ts","../src/runtime/genEnforceLazy.ts","../src/runtime/enforce.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,QAAQ,MAAM,CAAC;IACb,UAAU,GAAG,CAAC;QACZ,UAAU,qBAAqB,CAAC,CAAC;SAAI;KACtC;CACF;AARD,OAAO,gBAAW,CAAgB"}
|