n4s 4.0.1 → 4.0.2-next-adfb43

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.
@@ -179,6 +179,19 @@ function isTruthy(value) {
179
179
  }
180
180
  var isFalsy = bindNot(isTruthy);
181
181
 
182
+ function isValueOf(value, objectToCheck) {
183
+ if (isNullish(objectToCheck)) {
184
+ return false;
185
+ }
186
+ for (var key in objectToCheck) {
187
+ if (objectToCheck[key] === value) {
188
+ return true;
189
+ }
190
+ }
191
+ return false;
192
+ }
193
+ var isNotValueOf = bindNot(isValueOf);
194
+
182
195
  function lessThan(value, lt) {
183
196
  return isNumeric(value) && isNumeric(lt) && Number(value) < Number(lt);
184
197
  }
@@ -265,6 +278,7 @@ function rules() {
265
278
  isNotNumeric: isNotNumeric,
266
279
  isNotString: isNotString,
267
280
  isNotUndefined: isNotUndefined,
281
+ isNotValueOf: isNotValueOf,
268
282
  isNull: isNull,
269
283
  isNullish: isNullish,
270
284
  isNumber: isNumber,
@@ -274,6 +288,7 @@ function rules() {
274
288
  isString: isStringValue,
275
289
  isTruthy: isTruthy,
276
290
  isUndefined: isUndefined,
291
+ isValueOf: isValueOf,
277
292
  lengthEquals: lengthEquals,
278
293
  lengthNotEquals: lengthNotEquals,
279
294
  lessThan: lessThan,
@@ -361,7 +376,7 @@ function __spreadArray(to, from, pack) {
361
376
  ar[i] = from[i];
362
377
  }
363
378
  }
364
- return to.concat(ar || from);
379
+ return to.concat(ar || Array.prototype.slice.call(from));
365
380
  }
366
381
 
367
382
  function optionalFunctionValue(value) {
@@ -581,7 +596,7 @@ function genEnforce() {
581
596
  // Only on the first rule access - start the chain of calls
582
597
  target[ruleName] = genEnforceLazy(ruleName);
583
598
  });
584
- return target;
599
+ return assign(enforceEager, target);
585
600
  }
586
601
  return new Proxy(assign(enforceEager, target), {
587
602
  get: function (target, key) {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var n=require("context"),r=Object.assign;function t(n){return"function"==typeof n}function e(n){return function(){for(var r=[],t=0;t<arguments.length;t++)r[t]=arguments[t];return!n.apply(void 0,r)}}function u(n){return null===n}var i=e(u);function o(n){return void 0===n}var a=e(o);function s(n){return u(n)||o(n)}var f=e(s);function c(n){return String(n)===n}function l(n,r){return c(n)&&c(r)&&n.endsWith(r)}var v=e(l);function N(n,r){return n===r}var h=e(N);function p(n){var r=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(r))}var g=e(p);function m(n,r){return p(n)&&p(r)&&Number(n)>Number(r)}function y(n,r){return p(n)&&p(r)&&Number(n)>=Number(r)}function d(n){return!!Array.isArray(n)}var b=e(d);function E(n,r){return!!(d(r)||c(r)&&c(n))&&-1!==r.indexOf(n)}var x=e(E);function O(n,r){return p(n)&&p(r)&&Number(n)<=Number(r)}function q(n,r,t){return y(n,r)&&O(n,t)}var w=e(q);function T(n){return s(n)||c(n)&&!n.trim()}var P=e(T);function S(n){return!!n===n}var B=e(S);function W(n){return"number"==typeof n}var j=e(W);function A(n,r){return n.length===Number(r)}var k=e(A);function F(n){if(n){if(W(n))return 0===n;if(function(n,r){return Object.prototype.hasOwnProperty.call(n,r)}(n,"length"))return A(n,0);if("object"==typeof n)return A(Object.keys(n),0)}return!0}var I=e(F),J=function(n){return!!p(n)&&0==n%2};function M(n){return Number.isNaN(n)}var R=e(M);function U(n){return!!p(n)&&0>Number(n)}var _=e(U),C=function(n){return!!p(n)&&0!=n%2},X=e(c);function z(n){return!!n}var D=e(z);function G(n,r){return p(n)&&p(r)&&Number(n)<Number(r)}function H(n,r){return n.length>Number(r)}function K(n,r){return n.length>=Number(r)}function L(n,r){return r instanceof RegExp?r.test(n):!!c(r)&&new RegExp(r).test(n)}var Q=e(L);function V(n,r){return p(n)&&p(r)&&Number(n)===Number(r)}var Y=e(V);function Z(n,r){try{return r(n)}catch(n){return!1}}function $(n,r){return n.length<Number(r)}function nn(n,r){return n.length<=Number(r)}function rn(n,r){return c(n)&&c(r)&&n.startsWith(r)}var tn=e(rn);var en={condition:Z,doesNotEndWith:v,doesNotStartWith:tn,endsWith:l,equals:N,greaterThan:m,greaterThanOrEquals:y,gt:m,gte:y,inside:E,isArray:d,isBetween:q,isBlank:T,isBoolean:S,isEmpty:F,isEven:J,isFalsy:D,isNaN:M,isNegative:U,isNotArray:b,isNotBetween:w,isNotBlank:P,isNotBoolean:B,isNotEmpty:I,isNotNaN:R,isNotNull:i,isNotNullish:f,isNotNumber:j,isNotNumeric:g,isNotString:X,isNotUndefined:a,isNull:u,isNullish:s,isNumber:W,isNumeric:p,isOdd:C,isPositive:_,isString:c,isTruthy:z,isUndefined:o,lengthEquals:A,lengthNotEquals:k,lessThan:G,lessThanOrEquals:O,longerThan:H,longerThanOrEquals:K,lt:G,lte:O,matches:L,notEquals:h,notInside:x,notMatches:Q,numberEquals:V,numberNotEquals:Y,shorterThan:$,shorterThanOrEquals:nn,startsWith:rn};function un(n){return en[n]}function on(n){for(var r in en){var e=un(r);t(e)&&n(r,e)}}var an=n.createContext((function(n,t){var e={value:n.value,meta:n.meta||{}};return t?n.set?r(e,{parent:function(){return function(n){return n?{value:n.value,meta:n.meta,parent:n.parent}:n}(t)}}):t:r(e,{parent:sn})}));function sn(){return null}function fn(n,r,t){if(t||2===arguments.length)for(var e,u=0,i=r.length;u<i;u++)!e&&u in r||(e||(e=Array.prototype.slice.call(r,0,u)),e[u]=r[u]);return n.concat(e||r)}function cn(n){for(var r=[],e=1;e<arguments.length;e++)r[e-1]=arguments[e];return t(n)?n.apply(void 0,r):n}function ln(n,r){var t;return null!==(t=cn(n))&&void 0!==t?t:r}function vn(n,r){throw Error(ln(r,n))}function Nn(){try{return t(Proxy)}catch(n){return!1}}function hn(n,r){return n={pass:n},r&&(n.message=r),n}function pn(n){return ln(n,hn(!0))}function gn(n,r,t){for(var e=[],u=3;u<arguments.length;u++)e[u-3]=arguments[u];return mn(n),S(n)?hn(n):hn(n.pass,cn.apply(void 0,fn([n.message,r,t],e)))}function mn(n){S(n)||n&&S(n.pass)||vn("Incorrect return value for rule: "+JSON.stringify(n))}function yn(n){function r(r,t,e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];if(!(i=gn.apply(void 0,fn([an.run({value:n},(function(){return t.apply(void 0,fn([n],u))})),e,n],u))).pass){if(!F(i.message))throw i.message;vn("enforce/"+e+" failed with "+JSON.stringify(n))}return r}}var t={};if(!Nn())return on((function(n,e){t[n]=r(t,e,n)})),t;var e=new Proxy(t,{get:function(n,t){if(n=un(t))return r(e,n,t)}});return e}function dn(n,r){function t(n){e=!0,u=n}for(var e=!1,u=null,i=0;i<n.length;i++)if(r(n[i],t,i),e)return u}function bn(n){var r,t=[];return function n(e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];var o=un(e);t.push((function(n){return gn.apply(void 0,fn([o.apply(void 0,fn([n],u)),e,n],u))}));var a={run:function(n){return pn(dn(t,(function(t,e){var u,i=an.run({value:n},(function(){return t(n)}));i.pass||e(hn(!!i.pass,null!==(u=cn(r,n,i.message))&&void 0!==u?u:i.message))})))},test:function(n){return a.run(n).pass},message:function(n){return n&&(r=n),a}};return Nn()?a=new Proxy(a,{get:function(r,t){return un(t)?n(t):r[t]}}):(on((function(r){a[r]=n(r)})),a)}}(n)}var En,xn=(En={context:function(){return an.useX()},extend:function(n){r(en,n)}},Nn()?new Proxy(r(yn,En),{get:function(n,r){return r in n?n[r]:un(r)?bn(r):void 0}}):(on((function(n){En[n]=bn(n)})),En));exports.ctx=an,exports.enforce=xn;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var n=require("context"),r=Object.assign;function t(n){return"function"==typeof n}function e(n){return function(){for(var r=[],t=0;t<arguments.length;t++)r[t]=arguments[t];return!n.apply(void 0,r)}}function u(n){return null===n}var i=e(u);function o(n){return void 0===n}var a=e(o);function s(n){return u(n)||o(n)}var f=e(s);function c(n){return String(n)===n}function l(n,r){return c(n)&&c(r)&&n.endsWith(r)}var v=e(l);function N(n,r){return n===r}var p=e(N);function h(n){var r=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(r))}var g=e(h);function m(n,r){return h(n)&&h(r)&&Number(n)>Number(r)}function y(n,r){return h(n)&&h(r)&&Number(n)>=Number(r)}function d(n){return!!Array.isArray(n)}var b=e(d);function E(n,r){return!!(d(r)||c(r)&&c(n))&&-1!==r.indexOf(n)}var x=e(E);function O(n,r){return h(n)&&h(r)&&Number(n)<=Number(r)}function q(n,r,t){return y(n,r)&&O(n,t)}var w=e(q);function T(n){return s(n)||c(n)&&!n.trim()}var P=e(T);function S(n){return!!n===n}var A=e(S);function B(n){return"number"==typeof n}var W=e(B);function j(n,r){return n.length===Number(r)}var k=e(j);function F(n){if(n){if(B(n))return 0===n;if(function(n,r){return Object.prototype.hasOwnProperty.call(n,r)}(n,"length"))return j(n,0);if("object"==typeof n)return j(Object.keys(n),0)}return!0}var I=e(F),J=function(n){return!!h(n)&&0==n%2};function M(n){return Number.isNaN(n)}var R=e(M);function U(n){return!!h(n)&&0>Number(n)}var V=e(U),_=function(n){return!!h(n)&&0!=n%2},C=e(c);function X(n){return!!n}var z=e(X);function D(n,r){if(s(r))return!1;for(var t in r)if(r[t]===n)return!0;return!1}var G=e(D);function H(n,r){return h(n)&&h(r)&&Number(n)<Number(r)}function K(n,r){return n.length>Number(r)}function L(n,r){return n.length>=Number(r)}function Q(n,r){return r instanceof RegExp?r.test(n):!!c(r)&&new RegExp(r).test(n)}var Y=e(Q);function Z(n,r){return h(n)&&h(r)&&Number(n)===Number(r)}var $=e(Z);function nn(n,r){try{return r(n)}catch(n){return!1}}function rn(n,r){return n.length<Number(r)}function tn(n,r){return n.length<=Number(r)}function en(n,r){return c(n)&&c(r)&&n.startsWith(r)}var un=e(en);var on={condition:nn,doesNotEndWith:v,doesNotStartWith:un,endsWith:l,equals:N,greaterThan:m,greaterThanOrEquals:y,gt:m,gte:y,inside:E,isArray:d,isBetween:q,isBlank:T,isBoolean:S,isEmpty:F,isEven:J,isFalsy:z,isNaN:M,isNegative:U,isNotArray:b,isNotBetween:w,isNotBlank:P,isNotBoolean:A,isNotEmpty:I,isNotNaN:R,isNotNull:i,isNotNullish:f,isNotNumber:W,isNotNumeric:g,isNotString:C,isNotUndefined:a,isNotValueOf:G,isNull:u,isNullish:s,isNumber:B,isNumeric:h,isOdd:_,isPositive:V,isString:c,isTruthy:X,isUndefined:o,isValueOf:D,lengthEquals:j,lengthNotEquals:k,lessThan:H,lessThanOrEquals:O,longerThan:K,longerThanOrEquals:L,lt:H,lte:O,matches:Q,notEquals:p,notInside:x,notMatches:Y,numberEquals:Z,numberNotEquals:$,shorterThan:rn,shorterThanOrEquals:tn,startsWith:en};function an(n){return on[n]}function sn(n){for(var r in on){var e=an(r);t(e)&&n(r,e)}}var fn=n.createContext((function(n,t){var e={value:n.value,meta:n.meta||{}};return t?n.set?r(e,{parent:function(){return function(n){return n?{value:n.value,meta:n.meta,parent:n.parent}:n}(t)}}):t:r(e,{parent:cn})}));function cn(){return null}function ln(n,r,t){if(t||2===arguments.length)for(var e,u=0,i=r.length;u<i;u++)!e&&u in r||(e||(e=Array.prototype.slice.call(r,0,u)),e[u]=r[u]);return n.concat(e||Array.prototype.slice.call(r))}function vn(n){for(var r=[],e=1;e<arguments.length;e++)r[e-1]=arguments[e];return t(n)?n.apply(void 0,r):n}function Nn(n,r){var t;return null!==(t=vn(n))&&void 0!==t?t:r}function pn(n,r){throw Error(Nn(r,n))}function hn(){try{return t(Proxy)}catch(n){return!1}}function gn(n,r){return n={pass:n},r&&(n.message=r),n}function mn(n){return Nn(n,gn(!0))}function yn(n,r,t){for(var e=[],u=3;u<arguments.length;u++)e[u-3]=arguments[u];return dn(n),S(n)?gn(n):gn(n.pass,vn.apply(void 0,ln([n.message,r,t],e)))}function dn(n){S(n)||n&&S(n.pass)||pn("Incorrect return value for rule: "+JSON.stringify(n))}function bn(n){function r(r,t,e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];if(!(i=yn.apply(void 0,ln([fn.run({value:n},(function(){return t.apply(void 0,ln([n],u))})),e,n],u))).pass){if(!F(i.message))throw i.message;pn("enforce/"+e+" failed with "+JSON.stringify(n))}return r}}var t={};if(!hn())return sn((function(n,e){t[n]=r(t,e,n)})),t;var e=new Proxy(t,{get:function(n,t){if(n=an(t))return r(e,n,t)}});return e}function En(n,r){function t(n){e=!0,u=n}for(var e=!1,u=null,i=0;i<n.length;i++)if(r(n[i],t,i),e)return u}function xn(n){var r,t=[];return function n(e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];var o=an(e);t.push((function(n){return yn.apply(void 0,ln([o.apply(void 0,ln([n],u)),e,n],u))}));var a={run:function(n){return mn(En(t,(function(t,e){var u,i=fn.run({value:n},(function(){return t(n)}));i.pass||e(gn(!!i.pass,null!==(u=vn(r,n,i.message))&&void 0!==u?u:i.message))})))},test:function(n){return a.run(n).pass},message:function(n){return n&&(r=n),a}};return hn()?a=new Proxy(a,{get:function(r,t){return an(t)?n(t):r[t]}}):(sn((function(r){a[r]=n(r)})),a)}}(n)}var On,qn=(On={context:function(){return fn.useX()},extend:function(n){r(on,n)}},hn()?new Proxy(r(bn,On),{get:function(n,r){return r in n?n[r]:an(r)?xn(r):void 0}}):(sn((function(n){On[n]=xn(n)})),r(bn,On)));exports.ctx=fn,exports.enforce=qn;
@@ -175,6 +175,19 @@ function isTruthy(value) {
175
175
  }
176
176
  var isFalsy = bindNot(isTruthy);
177
177
 
178
+ function isValueOf(value, objectToCheck) {
179
+ if (isNullish(objectToCheck)) {
180
+ return false;
181
+ }
182
+ for (var key in objectToCheck) {
183
+ if (objectToCheck[key] === value) {
184
+ return true;
185
+ }
186
+ }
187
+ return false;
188
+ }
189
+ var isNotValueOf = bindNot(isValueOf);
190
+
178
191
  function lessThan(value, lt) {
179
192
  return isNumeric(value) && isNumeric(lt) && Number(value) < Number(lt);
180
193
  }
@@ -261,6 +274,7 @@ function rules() {
261
274
  isNotNumeric: isNotNumeric,
262
275
  isNotString: isNotString,
263
276
  isNotUndefined: isNotUndefined,
277
+ isNotValueOf: isNotValueOf,
264
278
  isNull: isNull,
265
279
  isNullish: isNullish,
266
280
  isNumber: isNumber,
@@ -270,6 +284,7 @@ function rules() {
270
284
  isString: isStringValue,
271
285
  isTruthy: isTruthy,
272
286
  isUndefined: isUndefined,
287
+ isValueOf: isValueOf,
273
288
  lengthEquals: lengthEquals,
274
289
  lengthNotEquals: lengthNotEquals,
275
290
  lessThan: lessThan,
@@ -357,7 +372,7 @@ function __spreadArray(to, from, pack) {
357
372
  ar[i] = from[i];
358
373
  }
359
374
  }
360
- return to.concat(ar || from);
375
+ return to.concat(ar || Array.prototype.slice.call(from));
361
376
  }
362
377
 
363
378
  function optionalFunctionValue(value) {
@@ -577,7 +592,7 @@ function genEnforce() {
577
592
  // Only on the first rule access - start the chain of calls
578
593
  target[ruleName] = genEnforceLazy(ruleName);
579
594
  });
580
- return target;
595
+ return assign(enforceEager, target);
581
596
  }
582
597
  return new Proxy(assign(enforceEager, target), {
583
598
  get: function (target, key) {
@@ -1 +1 @@
1
- import{createContext as n}from"context";var r=Object.assign;function t(n){return"function"==typeof n}function e(n){return function(){for(var r=[],t=0;t<arguments.length;t++)r[t]=arguments[t];return!n.apply(void 0,r)}}function u(n){return null===n}var i=e(u);function o(n){return void 0===n}var a=e(o);function s(n){return null===n||o(n)}var f=e(s);function c(n){return String(n)===n}function l(n,r){return c(n)&&c(r)&&n.endsWith(r)}var v=e(l);function N(n,r){return n===r}var h=e(N);function m(n){var r=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(r))}var g=e(m);function p(n,r){return m(n)&&m(r)&&Number(n)>Number(r)}function y(n,r){return m(n)&&m(r)&&Number(n)>=Number(r)}function b(n){return!!Array.isArray(n)}var d=e(b);function E(n,r){return!!(b(r)||c(r)&&c(n))&&-1!==r.indexOf(n)}var x=e(E);function O(n,r){return m(n)&&m(r)&&Number(n)<=Number(r)}function q(n,r,t){return y(n,r)&&O(n,t)}var w=e(q);function T(n){return s(n)||c(n)&&!n.trim()}var S=e(T);function B(n){return!!n===n}var P=e(B);function W(n){return"number"==typeof n}var A=e(W);function j(n,r){return n.length===Number(r)}var k=e(j);function F(n){if(n){if(W(n))return 0===n;if(Object.prototype.hasOwnProperty.call(n,"length"))return j(n,0);if("object"==typeof n)return j(Object.keys(n),0)}return!0}var I=e(F);function J(n){return Number.isNaN(n)}var R=e(J);function U(n){return!!m(n)&&0>Number(n)}var M=e(U),X=e(c);function z(n){return!!n}var C=e(z);function D(n,r){return m(n)&&m(r)&&Number(n)<Number(r)}function G(n,r){return r instanceof RegExp?r.test(n):!!c(r)&&new RegExp(r).test(n)}var H=e(G);function K(n,r){return m(n)&&m(r)&&Number(n)===Number(r)}var L=e(K);function Q(n,r){return c(n)&&c(r)&&n.startsWith(r)}var V={condition:function(n,r){try{return r(n)}catch(n){return!1}},doesNotEndWith:v,doesNotStartWith:e(Q),endsWith:l,equals:N,greaterThan:p,greaterThanOrEquals:y,gt:p,gte:y,inside:E,isArray:b,isBetween:q,isBlank:T,isBoolean:B,isEmpty:F,isEven:function(n){return!!m(n)&&0==n%2},isFalsy:C,isNaN:J,isNegative:U,isNotArray:d,isNotBetween:w,isNotBlank:S,isNotBoolean:P,isNotEmpty:I,isNotNaN:R,isNotNull:i,isNotNullish:f,isNotNumber:A,isNotNumeric:g,isNotString:X,isNotUndefined:a,isNull:u,isNullish:s,isNumber:W,isNumeric:m,isOdd:function(n){return!!m(n)&&0!=n%2},isPositive:M,isString:c,isTruthy:z,isUndefined:o,lengthEquals:j,lengthNotEquals:k,lessThan:D,lessThanOrEquals:O,longerThan:function(n,r){return n.length>Number(r)},longerThanOrEquals:function(n,r){return n.length>=Number(r)},lt:D,lte:O,matches:G,notEquals:h,notInside:x,notMatches:H,numberEquals:K,numberNotEquals:L,shorterThan:function(n,r){return n.length<Number(r)},shorterThanOrEquals:function(n,r){return n.length<=Number(r)},startsWith:Q};function Y(n){for(var r in V){var e=V[r];t(e)&&n(r,e)}}var Z=n((function(n,t){var e={value:n.value,meta:n.meta||{}};return t?n.set?r(e,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:r(e,{parent:$})}));function $(){return null}function _(n,r,t){if(t||2===arguments.length)for(var e,u=0,i=r.length;u<i;u++)!e&&u in r||(e||(e=Array.prototype.slice.call(r,0,u)),e[u]=r[u]);return n.concat(e||r)}function nn(n){for(var r=[],e=1;e<arguments.length;e++)r[e-1]=arguments[e];return t(n)?n.apply(void 0,r):n}function rn(n,r){var t;return null!==(t=nn(n))&&void 0!==t?t:r}function tn(n,r){throw Error(rn(r,n))}function en(){try{return t(Proxy)}catch(n){return!1}}function un(n,r){return n={pass:n},r&&(n.message=r),n}function on(n,r,t){for(var e=[],u=3;u<arguments.length;u++)e[u-3]=arguments[u];return B(n)||n&&B(n.pass)||tn("Incorrect return value for rule: "+JSON.stringify(n)),B(n)?un(n):un(n.pass,nn.apply(void 0,_([n.message,r,t],e)))}function an(n){function r(r,t,e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];if(!(i=on.apply(void 0,_([Z.run({value:n},(function(){return t.apply(void 0,_([n],u))})),e,n],u))).pass){if(!F(i.message))throw i.message;tn("enforce/"+e+" failed with "+JSON.stringify(n))}return r}}var t={};if(!en())return Y((function(n,e){t[n]=r(t,e,n)})),t;var e=new Proxy(t,{get:function(n,t){if(n=V[t])return r(e,n,t)}});return e}function sn(n,r){function t(n){e=!0,u=n}for(var e=!1,u=null,i=0;i<n.length;i++)if(r(n[i],t,i),e)return u}function fn(n){var r,t=[];return function n(e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];var o=V[e];t.push((function(n){return on.apply(void 0,_([o.apply(void 0,_([n],u)),e,n],u))}));var a={run:function(n){return rn(sn(t,(function(t,e){var u,i=Z.run({value:n},(function(){return t(n)}));i.pass||e(un(!!i.pass,null!==(u=nn(r,n,i.message))&&void 0!==u?u:i.message))})),un(!0))},test:function(n){return a.run(n).pass},message:function(n){return n&&(r=n),a}};return en()?a=new Proxy(a,{get:function(r,t){return V[t]?n(t):r[t]}}):(Y((function(r){a[r]=n(r)})),a)}}(n)}var cn,ln=(cn={context:function(){return Z.useX()},extend:function(n){r(V,n)}},en()?new Proxy(r(an,cn),{get:function(n,r){return r in n?n[r]:V[r]?fn(r):void 0}}):(Y((function(n){cn[n]=fn(n)})),cn));export{Z as ctx,ln as enforce};
1
+ import{createContext as n}from"context";var r=Object.assign;function t(n){return"function"==typeof n}function e(n){return function(){for(var r=[],t=0;t<arguments.length;t++)r[t]=arguments[t];return!n.apply(void 0,r)}}function u(n){return null===n}var i=e(u);function o(n){return void 0===n}var a=e(o);function s(n){return null===n||o(n)}var f=e(s);function c(n){return String(n)===n}function l(n,r){return c(n)&&c(r)&&n.endsWith(r)}var v=e(l);function N(n,r){return n===r}var h=e(N);function m(n){var r=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(r))}var p=e(m);function g(n,r){return m(n)&&m(r)&&Number(n)>Number(r)}function y(n,r){return m(n)&&m(r)&&Number(n)>=Number(r)}function b(n){return!!Array.isArray(n)}var d=e(b);function E(n,r){return!!(b(r)||c(r)&&c(n))&&-1!==r.indexOf(n)}var O=e(E);function x(n,r){return m(n)&&m(r)&&Number(n)<=Number(r)}function q(n,r,t){return y(n,r)&&x(n,t)}var w=e(q);function T(n){return s(n)||c(n)&&!n.trim()}var S=e(T);function A(n){return!!n===n}var B=e(A);function P(n){return"number"==typeof n}var W=e(P);function j(n,r){return n.length===Number(r)}var k=e(j);function F(n){if(n){if(P(n))return 0===n;if(Object.prototype.hasOwnProperty.call(n,"length"))return j(n,0);if("object"==typeof n)return j(Object.keys(n),0)}return!0}var I=e(F);function J(n){return Number.isNaN(n)}var R=e(J);function U(n){return!!m(n)&&0>Number(n)}var V=e(U),M=e(c);function X(n){return!!n}var z=e(X);function C(n,r){if(s(r))return!1;for(var t in r)if(r[t]===n)return!0;return!1}var D=e(C);function G(n,r){return m(n)&&m(r)&&Number(n)<Number(r)}function H(n,r){return r instanceof RegExp?r.test(n):!!c(r)&&new RegExp(r).test(n)}var K=e(H);function L(n,r){return m(n)&&m(r)&&Number(n)===Number(r)}var Q=e(L);function Y(n,r){return c(n)&&c(r)&&n.startsWith(r)}var Z={condition:function(n,r){try{return r(n)}catch(n){return!1}},doesNotEndWith:v,doesNotStartWith:e(Y),endsWith:l,equals:N,greaterThan:g,greaterThanOrEquals:y,gt:g,gte:y,inside:E,isArray:b,isBetween:q,isBlank:T,isBoolean:A,isEmpty:F,isEven:function(n){return!!m(n)&&0==n%2},isFalsy:z,isNaN:J,isNegative:U,isNotArray:d,isNotBetween:w,isNotBlank:S,isNotBoolean:B,isNotEmpty:I,isNotNaN:R,isNotNull:i,isNotNullish:f,isNotNumber:W,isNotNumeric:p,isNotString:M,isNotUndefined:a,isNotValueOf:D,isNull:u,isNullish:s,isNumber:P,isNumeric:m,isOdd:function(n){return!!m(n)&&0!=n%2},isPositive:V,isString:c,isTruthy:X,isUndefined:o,isValueOf:C,lengthEquals:j,lengthNotEquals:k,lessThan:G,lessThanOrEquals:x,longerThan:function(n,r){return n.length>Number(r)},longerThanOrEquals:function(n,r){return n.length>=Number(r)},lt:G,lte:x,matches:H,notEquals:h,notInside:O,notMatches:K,numberEquals:L,numberNotEquals:Q,shorterThan:function(n,r){return n.length<Number(r)},shorterThanOrEquals:function(n,r){return n.length<=Number(r)},startsWith:Y};function $(n){for(var r in Z){var e=Z[r];t(e)&&n(r,e)}}var _=n((function(n,t){var e={value:n.value,meta:n.meta||{}};return t?n.set?r(e,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:r(e,{parent:nn})}));function nn(){return null}function rn(n,r,t){if(t||2===arguments.length)for(var e,u=0,i=r.length;u<i;u++)!e&&u in r||(e||(e=Array.prototype.slice.call(r,0,u)),e[u]=r[u]);return n.concat(e||Array.prototype.slice.call(r))}function tn(n){for(var r=[],e=1;e<arguments.length;e++)r[e-1]=arguments[e];return t(n)?n.apply(void 0,r):n}function en(n,r){var t;return null!==(t=tn(n))&&void 0!==t?t:r}function un(n,r){throw Error(en(r,n))}function on(){try{return t(Proxy)}catch(n){return!1}}function an(n,r){return n={pass:n},r&&(n.message=r),n}function sn(n,r,t){for(var e=[],u=3;u<arguments.length;u++)e[u-3]=arguments[u];return A(n)||n&&A(n.pass)||un("Incorrect return value for rule: "+JSON.stringify(n)),A(n)?an(n):an(n.pass,tn.apply(void 0,rn([n.message,r,t],e)))}function fn(n){function r(r,t,e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];if(!(i=sn.apply(void 0,rn([_.run({value:n},(function(){return t.apply(void 0,rn([n],u))})),e,n],u))).pass){if(!F(i.message))throw i.message;un("enforce/"+e+" failed with "+JSON.stringify(n))}return r}}var t={};if(!on())return $((function(n,e){t[n]=r(t,e,n)})),t;var e=new Proxy(t,{get:function(n,t){if(n=Z[t])return r(e,n,t)}});return e}function cn(n,r){function t(n){e=!0,u=n}for(var e=!1,u=null,i=0;i<n.length;i++)if(r(n[i],t,i),e)return u}function ln(n){var r,t=[];return function n(e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];var o=Z[e];t.push((function(n){return sn.apply(void 0,rn([o.apply(void 0,rn([n],u)),e,n],u))}));var a={run:function(n){return en(cn(t,(function(t,e){var u,i=_.run({value:n},(function(){return t(n)}));i.pass||e(an(!!i.pass,null!==(u=tn(r,n,i.message))&&void 0!==u?u:i.message))})),an(!0))},test:function(n){return a.run(n).pass},message:function(n){return n&&(r=n),a}};return on()?a=new Proxy(a,{get:function(r,t){return Z[t]?n(t):r[t]}}):($((function(r){a[r]=n(r)})),a)}}(n)}var vn,Nn=(vn={context:function(){return _.useX()},extend:function(n){r(Z,n)}},on()?new Proxy(r(fn,vn),{get:function(n,r){return r in n?n[r]:Z[r]?ln(r):void 0}}):($((function(n){vn[n]=ln(n)})),r(fn,vn)));export{_ as ctx,Nn as enforce};
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('context')) :
3
- typeof define === 'function' && define.amd ? define(['exports', 'context'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.n4s = {}, global.context));
5
- }(this, (function (exports, context) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
3
+ typeof define === 'function' && define.amd ? define(['exports'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.n4s = {}));
5
+ }(this, (function (exports) { 'use strict';
6
6
 
7
7
  var assign = Object.assign;
8
8
 
@@ -179,6 +179,19 @@
179
179
  }
180
180
  var isFalsy = bindNot(isTruthy);
181
181
 
182
+ function isValueOf(value, objectToCheck) {
183
+ if (isNullish(objectToCheck)) {
184
+ return false;
185
+ }
186
+ for (var key in objectToCheck) {
187
+ if (objectToCheck[key] === value) {
188
+ return true;
189
+ }
190
+ }
191
+ return false;
192
+ }
193
+ var isNotValueOf = bindNot(isValueOf);
194
+
182
195
  function lessThan(value, lt) {
183
196
  return isNumeric(value) && isNumeric(lt) && Number(value) < Number(lt);
184
197
  }
@@ -265,6 +278,7 @@
265
278
  isNotNumeric: isNotNumeric,
266
279
  isNotString: isNotString,
267
280
  isNotUndefined: isNotUndefined,
281
+ isNotValueOf: isNotValueOf,
268
282
  isNull: isNull,
269
283
  isNullish: isNullish,
270
284
  isNumber: isNumber,
@@ -274,6 +288,7 @@
274
288
  isString: isStringValue,
275
289
  isTruthy: isTruthy,
276
290
  isUndefined: isUndefined,
291
+ isValueOf: isValueOf,
277
292
  lengthEquals: lengthEquals,
278
293
  lengthNotEquals: lengthNotEquals,
279
294
  lessThan: lessThan,
@@ -308,7 +323,77 @@
308
323
  }
309
324
  }
310
325
 
311
- var ctx = context.createContext(function (ctxRef, parentContext) {
326
+ function optionalFunctionValue(value) {
327
+ var args = [];
328
+ for (var _i = 1; _i < arguments.length; _i++) {
329
+ args[_i - 1] = arguments[_i];
330
+ }
331
+ return isFunction(value) ? value.apply(void 0, args) : value;
332
+ }
333
+
334
+ function defaultTo(callback, defaultValue) {
335
+ var _a;
336
+ return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
337
+ }
338
+
339
+ /**
340
+ * Throws a timed out error.
341
+ */
342
+ function throwError(devMessage, productionMessage) {
343
+ throw new Error(devMessage );
344
+ }
345
+
346
+ // eslint-disable-next-line max-lines-per-function
347
+ function createContext(init) {
348
+ var storage = { ancestry: [] };
349
+ return {
350
+ bind: bind,
351
+ run: run,
352
+ use: use,
353
+ useX: useX
354
+ };
355
+ function useX(errorMessage) {
356
+ var _a;
357
+ return ((_a = storage.ctx) !== null && _a !== void 0 ? _a : throwError(defaultTo(errorMessage, 'Context was used after it was closed')));
358
+ }
359
+ function run(ctxRef, fn) {
360
+ var _a;
361
+ var parentContext = use();
362
+ var out = assign({}, parentContext ? parentContext : {}, (_a = optionalFunctionValue(init, ctxRef, parentContext)) !== null && _a !== void 0 ? _a : ctxRef);
363
+ var ctx = set(Object.freeze(out));
364
+ storage.ancestry.unshift(ctx);
365
+ var res = fn(ctx);
366
+ clear();
367
+ return res;
368
+ }
369
+ function bind(ctxRef, fn) {
370
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
371
+ // @ts-ignore - this one's pretty hard to get right
372
+ var returnedFn = function () {
373
+ var runTimeArgs = [];
374
+ for (var _i = 0; _i < arguments.length; _i++) {
375
+ runTimeArgs[_i] = arguments[_i];
376
+ }
377
+ return run(ctxRef, function () {
378
+ return fn.apply(void 0, runTimeArgs);
379
+ });
380
+ };
381
+ return returnedFn;
382
+ }
383
+ function use() {
384
+ return storage.ctx;
385
+ }
386
+ function set(value) {
387
+ return (storage.ctx = value);
388
+ }
389
+ function clear() {
390
+ var _a;
391
+ storage.ancestry.shift();
392
+ set((_a = storage.ancestry[0]) !== null && _a !== void 0 ? _a : null);
393
+ }
394
+ }
395
+
396
+ var ctx = createContext(function (ctxRef, parentContext) {
312
397
  var base = {
313
398
  value: ctxRef.value,
314
399
  meta: ctxRef.meta || {}
@@ -361,27 +446,7 @@
361
446
  ar[i] = from[i];
362
447
  }
363
448
  }
364
- return to.concat(ar || from);
365
- }
366
-
367
- function optionalFunctionValue(value) {
368
- var args = [];
369
- for (var _i = 1; _i < arguments.length; _i++) {
370
- args[_i - 1] = arguments[_i];
371
- }
372
- return isFunction(value) ? value.apply(void 0, args) : value;
373
- }
374
-
375
- function defaultTo(callback, defaultValue) {
376
- var _a;
377
- return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
378
- }
379
-
380
- /**
381
- * Throws a timed out error.
382
- */
383
- function throwError(devMessage, productionMessage) {
384
- throw new Error(devMessage );
449
+ return to.concat(ar || Array.prototype.slice.call(from));
385
450
  }
386
451
 
387
452
  function isProxySupported() {
@@ -581,7 +646,7 @@
581
646
  // Only on the first rule access - start the chain of calls
582
647
  target[ruleName] = genEnforceLazy(ruleName);
583
648
  });
584
- return target;
649
+ return assign(enforceEager, target);
585
650
  }
586
651
  return new Proxy(assign(enforceEager, target), {
587
652
  get: function (target, key) {
@@ -1 +1 @@
1
- "use strict";!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("context")):"function"==typeof define&&define.amd?define(["exports","context"],t):t((n="undefined"!=typeof globalThis?globalThis:n||self).n4s={},n.context)}(this,(function(n,t){function r(n){return"function"==typeof n}function e(n){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return!n.apply(void 0,t)}}function u(n){return null===n}function i(n){return void 0===n}function o(n){return null===n||i(n)}function s(n){return String(n)===n}function f(n,t){return s(n)&&s(t)&&n.endsWith(t)}function a(n,t){return n===t}function c(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}function l(n,t){return c(n)&&c(t)&&Number(n)>Number(t)}function N(n,t){return c(n)&&c(t)&&Number(n)>=Number(t)}function h(n){return!!Array.isArray(n)}function p(n,t){return!!(h(t)||s(t)&&s(n))&&-1!==t.indexOf(n)}function g(n,t){return c(n)&&c(t)&&Number(n)<=Number(t)}function m(n,t,r){return N(n,t)&&g(n,r)}function v(n){return o(n)||s(n)&&!n.trim()}function d(n){return!!n===n}function y(n){return"number"==typeof n}function b(n,t){return n.length===Number(t)}function x(n){if(n){if(y(n))return 0===n;if(Object.prototype.hasOwnProperty.call(n,"length"))return b(n,0);if("object"==typeof n)return b(Object.keys(n),0)}return!0}function E(n){return Number.isNaN(n)}function O(n){return!!c(n)&&0>Number(n)}function q(n){return!!n}function T(n,t){return c(n)&&c(t)&&Number(n)<Number(t)}function w(n,t){return t instanceof RegExp?t.test(n):!!s(t)&&new RegExp(t).test(n)}function P(n,t){return c(n)&&c(t)&&Number(n)===Number(t)}function S(n,t){return s(n)&&s(t)&&n.startsWith(t)}function j(n){for(var t in cn){var e=cn[t];r(e)&&n(t,e)}}function B(){return null}function W(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||t)}function A(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];return r(n)?n.apply(void 0,t):n}function k(n,t){var r;return null!==(r=A(n))&&void 0!==r?r:t}function F(n,t){throw Error(k(t,n))}function I(){try{return r(Proxy)}catch(n){return!1}}function J(n,t){return n={pass:n},t&&(n.message=t),n}function M(n,t,r){for(var e=[],u=3;u<arguments.length;u++)e[u-3]=arguments[u];return d(n)||n&&d(n.pass)||F("Incorrect return value for rule: "+JSON.stringify(n)),d(n)?J(n):J(n.pass,A.apply(void 0,W([n.message,t,r],e)))}function R(n){function t(t,r,e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];if(!(i=M.apply(void 0,W([ln.run({value:n},(function(){return r.apply(void 0,W([n],u))})),e,n],u))).pass){if(!x(i.message))throw i.message;F("enforce/"+e+" failed with "+JSON.stringify(n))}return t}}var r={};if(!I())return j((function(n,e){r[n]=t(r,e,n)})),r;var e=new Proxy(r,{get:function(n,r){if(n=cn[r])return t(e,n,r)}});return e}function U(n,t){function r(n){e=!0,u=n}for(var e=!1,u=null,i=0;i<n.length;i++)if(t(n[i],r,i),e)return u}function _(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=cn[e];r.push((function(n){return M.apply(void 0,W([o.apply(void 0,W([n],u)),e,n],u))}));var s={run:function(n){return k(U(r,(function(r,e){var u,i=ln.run({value:n},(function(){return r(n)}));i.pass||e(J(!!i.pass,null!==(u=A(t,n,i.message))&&void 0!==u?u:i.message))})),J(!0))},test:function(n){return s.run(n).pass},message:function(n){return n&&(t=n),s}};return I()?s=new Proxy(s,{get:function(t,r){return cn[r]?n(r):t[r]}}):(j((function(t){s[t]=n(t)})),s)}}(n)}var C,X=Object.assign,z=e(u),D=e(i),G=e(o),H=e(f),K=e(a),L=e(c),Q=e(h),V=e(p),Y=e(m),Z=e(v),$=e(d),nn=e(y),tn=e(b),rn=e(x),en=e(E),un=e(O),on=e(s),sn=e(q),fn=e(w),an=e(P),cn={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:H,doesNotStartWith:e(S),endsWith:f,equals:a,greaterThan:l,greaterThanOrEquals:N,gt:l,gte:N,inside:p,isArray:h,isBetween:m,isBlank:v,isBoolean:d,isEmpty:x,isEven:function(n){return!!c(n)&&0==n%2},isFalsy:sn,isNaN:E,isNegative:O,isNotArray:Q,isNotBetween:Y,isNotBlank:Z,isNotBoolean:$,isNotEmpty:rn,isNotNaN:en,isNotNull:z,isNotNullish:G,isNotNumber:nn,isNotNumeric:L,isNotString:on,isNotUndefined:D,isNull:u,isNullish:o,isNumber:y,isNumeric:c,isOdd:function(n){return!!c(n)&&0!=n%2},isPositive:un,isString:s,isTruthy:q,isUndefined:i,lengthEquals:b,lengthNotEquals:tn,lessThan:T,lessThanOrEquals:g,longerThan:function(n,t){return n.length>Number(t)},longerThanOrEquals:function(n,t){return n.length>=Number(t)},lt:T,lte:g,matches:w,notEquals:K,notInside:V,notMatches:fn,numberEquals:P,numberNotEquals:an,shorterThan:function(n,t){return n.length<Number(t)},shorterThanOrEquals:function(n,t){return n.length<=Number(t)},startsWith:S},ln=t.createContext((function(n,t){var r={value:n.value,meta:n.meta||{}};return t?n.set?X(r,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:X(r,{parent:B})}));C={context:function(){return ln.useX()},extend:function(n){X(cn,n)}},t=I()?new Proxy(X(R,C),{get:function(n,t){return t in n?n[t]:cn[t]?_(t):void 0}}):(j((function(n){C[n]=_(n)})),C),n.ctx=ln,n.enforce=t,Object.defineProperty(n,"__esModule",{value:!0})}));
1
+ "use strict";!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((n="undefined"!=typeof globalThis?globalThis:n||self).n4s={})}(this,(function(n){function t(n){return"function"==typeof n}function r(n){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return!n.apply(void 0,t)}}function e(n){return null===n}function u(n){return void 0===n}function i(n){return null===n||u(n)}function o(n){return String(n)===n}function s(n,t){return o(n)&&o(t)&&n.endsWith(t)}function f(n,t){return n===t}function a(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}function c(n,t){return a(n)&&a(t)&&Number(n)>Number(t)}function l(n,t){return a(n)&&a(t)&&Number(n)>=Number(t)}function N(n){return!!Array.isArray(n)}function p(n,t){return!!(N(t)||o(t)&&o(n))&&-1!==t.indexOf(n)}function h(n,t){return a(n)&&a(t)&&Number(n)<=Number(t)}function v(n,t,r){return l(n,t)&&h(n,r)}function d(n){return i(n)||o(n)&&!n.trim()}function g(n){return!!n===n}function m(n){return"number"==typeof n}function y(n,t){return n.length===Number(t)}function b(n){if(n){if(m(n))return 0===n;if(Object.prototype.hasOwnProperty.call(n,"length"))return y(n,0);if("object"==typeof n)return y(Object.keys(n),0)}return!0}function x(n){return Number.isNaN(n)}function E(n){return!!a(n)&&0>Number(n)}function O(n){return!!n}function w(n,t){if(i(t))return!1;for(var r in t)if(t[r]===n)return!0;return!1}function T(n,t){return a(n)&&a(t)&&Number(n)<Number(t)}function q(n,t){return t instanceof RegExp?t.test(n):!!o(t)&&new RegExp(t).test(n)}function j(n,t){return a(n)&&a(t)&&Number(n)===Number(t)}function P(n,t){return o(n)&&o(t)&&n.startsWith(t)}function S(n){for(var r in ln){var e=ln[r];t(e)&&n(r,e)}}function A(n){for(var r=[],e=1;e<arguments.length;e++)r[e-1]=arguments[e];return t(n)?n.apply(void 0,r):n}function B(n,t){var r;return null!==(r=A(n))&&void 0!==r?r:t}function W(n,t){throw Error(B(t,n))}function k(){return null}function F(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 I(){try{return t(Proxy)}catch(n){return!1}}function J(n,t){return n={pass:n},t&&(n.message=t),n}function M(n,t,r){for(var e=[],u=3;u<arguments.length;u++)e[u-3]=arguments[u];return g(n)||n&&g(n.pass)||W("Incorrect return value for rule: "+JSON.stringify(n)),g(n)?J(n):J(n.pass,A.apply(void 0,F([n.message,t,r],e)))}function R(n){function t(t,r,e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];if(!(i=M.apply(void 0,F([Nn.run({value:n},(function(){return r.apply(void 0,F([n],u))})),e,n],u))).pass){if(!b(i.message))throw i.message;W("enforce/"+e+" failed with "+JSON.stringify(n))}return t}}var r={};if(!I())return S((function(n,e){r[n]=t(r,e,n)})),r;var e=new Proxy(r,{get:function(n,r){if(n=ln[r])return t(e,n,r)}});return e}function U(n,t){function r(n){e=!0,u=n}for(var e=!1,u=null,i=0;i<n.length;i++)if(t(n[i],r,i),e)return u}function V(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=ln[e];r.push((function(n){return M.apply(void 0,F([o.apply(void 0,F([n],u)),e,n],u))}));var s={run:function(n){return B(U(r,(function(r,e){var u,i=Nn.run({value:n},(function(){return r(n)}));i.pass||e(J(!!i.pass,null!==(u=A(t,n,i.message))&&void 0!==u?u:i.message))})),J(!0))},test:function(n){return s.run(n).pass},message:function(n){return n&&(t=n),s}};return I()?s=new Proxy(s,{get:function(t,r){return ln[r]?n(r):t[r]}}):(S((function(t){s[t]=n(t)})),s)}}(n)}var X,_=Object.assign,z=r(e),C=r(u),D=r(i),G=r(s),H=r(f),K=r(a),L=r(N),Q=r(p),Y=r(v),Z=r(d),$=r(g),nn=r(m),tn=r(y),rn=r(b),en=r(x),un=r(E),on=r(o),sn=r(O),fn=r(w),an=r(q),cn=r(j),ln={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:G,doesNotStartWith:r(P),endsWith:s,equals:f,greaterThan:c,greaterThanOrEquals:l,gt:c,gte:l,inside:p,isArray:N,isBetween:v,isBlank:d,isBoolean:g,isEmpty:b,isEven:function(n){return!!a(n)&&0==n%2},isFalsy:sn,isNaN:x,isNegative:E,isNotArray:L,isNotBetween:Y,isNotBlank:Z,isNotBoolean:$,isNotEmpty:rn,isNotNaN:en,isNotNull:z,isNotNullish:D,isNotNumber:nn,isNotNumeric:K,isNotString:on,isNotUndefined:C,isNotValueOf:fn,isNull:e,isNullish:i,isNumber:m,isNumeric:a,isOdd:function(n){return!!a(n)&&0!=n%2},isPositive:un,isString:o,isTruthy:O,isUndefined:u,isValueOf:w,lengthEquals:y,lengthNotEquals:tn,lessThan:T,lessThanOrEquals:h,longerThan:function(n,t){return n.length>Number(t)},longerThanOrEquals:function(n,t){return n.length>=Number(t)},lt:T,lte:h,matches:q,notEquals:H,notInside:Q,notMatches:an,numberEquals:j,numberNotEquals:cn,shorterThan:function(n,t){return n.length<Number(t)},shorterThanOrEquals:function(n,t){return n.length<=Number(t)},startsWith:P},Nn=function(n){function t(t,u){var i,o,s=r();return t=_({},s||{},null!==(i=A(n,t,s))&&void 0!==i?i:t),i=e.ctx=Object.freeze(t),e.ancestry.unshift(i),u=u(i),e.ancestry.shift(),e.ctx=null!==(o=e.ancestry[0])&&void 0!==o?o:null,u}function r(){return e.ctx}var e={ancestry:[]};return{bind:function(n,r){return function(){for(var e=[],u=0;u<arguments.length;u++)e[u]=arguments[u];return t(n,(function(){return r.apply(void 0,e)}))}},run:t,use:r,useX:function(n){var t;return null!==(t=e.ctx)&&void 0!==t?t:W(B(n,"Context was used after it was closed"))}}}((function(n,t){var r={value:n.value,meta:n.meta||{}};return t?n.set?_(r,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:_(r,{parent:k})}));X={context:function(){return Nn.useX()},extend:function(n){_(ln,n)}},z=I()?new Proxy(_(R,X),{get:function(n,t){return t in n?n[t]:ln[t]?V(t):void 0}}):(S((function(n){X[n]=V(n)})),_(R,X)),n.ctx=Nn,n.enforce=z,Object.defineProperty(n,"__esModule",{value:!0})}));
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "4.0.1",
2
+ "version": "4.0.2-next-adfb43",
3
3
  "license": "MIT",
4
4
  "main": "./dist/cjs/n4s.js",
5
5
  "types": "./types/n4s.d.ts",
@@ -37,6 +37,7 @@ declare function isNumeric(value: string | number): boolean;
37
37
  declare function isStringValue(v: unknown): v is string;
38
38
  declare function isTruthy(value: unknown): boolean;
39
39
  declare function isUndefined(value?: unknown): boolean;
40
+ declare function isValueOf(value: any, objectToCheck: any): boolean;
40
41
  declare function lengthEquals(value: string | unknown[], arg1: string | number): boolean;
41
42
  declare function lessThan(value: string | number, lt: string | number): boolean;
42
43
  declare function lessThanOrEquals(value: string | number, lte: string | number): boolean;
@@ -79,6 +80,7 @@ declare const baseRules: {
79
80
  isNotNumeric: (value: string | number) => boolean;
80
81
  isNotString: (v: unknown) => boolean;
81
82
  isNotUndefined: (value?: unknown) => boolean;
83
+ isNotValueOf: (value: any, objectToCheck: any) => boolean;
82
84
  isNull: typeof isNull;
83
85
  isNullish: typeof isNullish;
84
86
  isNumber: typeof isNumber;
@@ -88,6 +90,7 @@ declare const baseRules: {
88
90
  isString: typeof isStringValue;
89
91
  isTruthy: typeof isTruthy;
90
92
  isUndefined: typeof isUndefined;
93
+ isValueOf: typeof isValueOf;
91
94
  lengthEquals: typeof lengthEquals;
92
95
  lengthNotEquals: (value: string | unknown[], arg1: string | number) => boolean;
93
96
  lessThan: typeof lessThan;
@@ -37,6 +37,7 @@ declare function isNumeric(value: string | number): boolean;
37
37
  declare function isStringValue(v: unknown): v is string;
38
38
  declare function isTruthy(value: unknown): boolean;
39
39
  declare function isUndefined(value?: unknown): boolean;
40
+ declare function isValueOf(value: any, objectToCheck: any): boolean;
40
41
  declare function lengthEquals(value: string | unknown[], arg1: string | number): boolean;
41
42
  declare function lessThan(value: string | number, lt: string | number): boolean;
42
43
  declare function lessThanOrEquals(value: string | number, lte: string | number): boolean;
@@ -79,6 +80,7 @@ declare const baseRules: {
79
80
  isNotNumeric: (value: string | number) => boolean;
80
81
  isNotString: (v: unknown) => boolean;
81
82
  isNotUndefined: (value?: unknown) => boolean;
83
+ isNotValueOf: (value: any, objectToCheck: any) => boolean;
82
84
  isNull: typeof isNull;
83
85
  isNullish: typeof isNullish;
84
86
  isNumber: typeof isNumber;
@@ -88,6 +90,7 @@ declare const baseRules: {
88
90
  isString: typeof isStringValue;
89
91
  isTruthy: typeof isTruthy;
90
92
  isUndefined: typeof isUndefined;
93
+ isValueOf: typeof isValueOf;
91
94
  lengthEquals: typeof lengthEquals;
92
95
  lengthNotEquals: (value: string | unknown[], arg1: string | number) => boolean;
93
96
  lessThan: typeof lessThan;
package/types/n4s.d.ts CHANGED
@@ -57,6 +57,7 @@ declare function isNumeric(value: string | number): boolean;
57
57
  declare function isStringValue(v: unknown): v is string;
58
58
  declare function isTruthy(value: unknown): boolean;
59
59
  declare function isUndefined(value?: unknown): boolean;
60
+ declare function isValueOf(value: any, objectToCheck: any): boolean;
60
61
  declare function lengthEquals(value: string | unknown[], arg1: string | number): boolean;
61
62
  declare function lessThan(value: string | number, lt: string | number): boolean;
62
63
  declare function lessThanOrEquals(value: string | number, lte: string | number): boolean;
@@ -99,6 +100,7 @@ declare const baseRules: {
99
100
  isNotNumeric: (value: string | number) => boolean;
100
101
  isNotString: (v: unknown) => boolean;
101
102
  isNotUndefined: (value?: unknown) => boolean;
103
+ isNotValueOf: (value: any, objectToCheck: any) => boolean;
102
104
  isNull: typeof isNull;
103
105
  isNullish: typeof isNullish;
104
106
  isNumber: typeof isNumber;
@@ -108,6 +110,7 @@ declare const baseRules: {
108
110
  isString: typeof isStringValue;
109
111
  isTruthy: typeof isTruthy;
110
112
  isUndefined: typeof isUndefined;
113
+ isValueOf: typeof isValueOf;
111
114
  lengthEquals: typeof lengthEquals;
112
115
  lengthNotEquals: (value: string | unknown[], arg1: string | number) => boolean;
113
116
  lessThan: typeof lessThan;
package/types/schema.d.ts CHANGED
@@ -37,6 +37,7 @@ declare function isNumeric(value: string | number): boolean;
37
37
  declare function isStringValue(v: unknown): v is string;
38
38
  declare function isTruthy(value: unknown): boolean;
39
39
  declare function isUndefined(value?: unknown): boolean;
40
+ declare function isValueOf(value: any, objectToCheck: any): boolean;
40
41
  declare function lengthEquals(value: string | unknown[], arg1: string | number): boolean;
41
42
  declare function lessThan(value: string | number, lt: string | number): boolean;
42
43
  declare function lessThanOrEquals(value: string | number, lte: string | number): boolean;
@@ -79,6 +80,7 @@ declare const baseRules: {
79
80
  isNotNumeric: (value: string | number) => boolean;
80
81
  isNotString: (v: unknown) => boolean;
81
82
  isNotUndefined: (value?: unknown) => boolean;
83
+ isNotValueOf: (value: any, objectToCheck: any) => boolean;
82
84
  isNull: typeof isNull;
83
85
  isNullish: typeof isNullish;
84
86
  isNumber: typeof isNumber;
@@ -88,6 +90,7 @@ declare const baseRules: {
88
90
  isString: typeof isStringValue;
89
91
  isTruthy: typeof isTruthy;
90
92
  isUndefined: typeof isUndefined;
93
+ isValueOf: typeof isValueOf;
91
94
  lengthEquals: typeof lengthEquals;
92
95
  lengthNotEquals: (value: string | unknown[], arg1: string | number) => boolean;
93
96
  lessThan: typeof lessThan;
package/docs/.nojekyll DELETED
File without changes
package/docs/README.md DELETED
@@ -1,44 +0,0 @@
1
- # Enforce - n4s
2
-
3
- Enforce is a validations assertions library. It provides rules that you can test your data against.
4
-
5
- By default, enforce throws an error when your validations fail. These errors should be caught by a validation testing framework such as [Vest](https://github.com/ealush/vest).
6
-
7
- You can extend Enforce per need, and you can add your custom validation rules in your app.
8
-
9
- ```js
10
- import { enforce } from 'n4s';
11
-
12
- enforce(4).isNumber();
13
- // passes
14
-
15
- enforce(4).isNumber().greaterThan(2);
16
- // passes
17
-
18
- enforce(4)
19
- .lessThan(2) // throws an error, will not carry on to the next rule
20
- .greaterThan(3);
21
- ```
22
-
23
- ## Installation
24
-
25
- ```
26
- npm i n4s
27
- ```
28
-
29
- ## Non throwing validations
30
-
31
- > This functionality replaces the no-longer supported ensure export, as it performs the same functionality with better performance.
32
-
33
- If you wish to use enforce's functionality safely with a boolean return interface instead, you can use its lazy validation interface:
34
-
35
- ```js
36
- enforce.isArray().longerThan(3).test([1, 2, 3]);
37
- ```
38
-
39
- ## Content
40
-
41
- - [List of Enforce rules](./rules)
42
- - [Business reated rules](./business_rules)
43
- - [Schema validation](./shape)
44
- - [Custom Enforce Rules](./custom)
package/docs/_sidebar.md DELETED
@@ -1,5 +0,0 @@
1
- - [Main](./)
2
- - [List of Enforce Rules](./rules)
3
- - [Schema validations](./compound)
4
- - [Custom Enforce Rules](./custom)
5
- - [Consuming external rules](./external)
package/docs/external.md DELETED
@@ -1,27 +0,0 @@
1
- # Consuming external rules
2
-
3
- Enforce comes with the bare minimum of rules needed for input validation, not assuming your business logic constraints.
4
-
5
- In some cases you might require more validations such as `isEmail` or `isPhoneNumber`. Enforce intentionally does not include those, since those validations may not necessarily reflect the way those validations should work in your app.
6
-
7
- Luckily, there are numerous packages that can be used along with enforce to add those validations. One of the most popular, and most compatible is `validator.js`.
8
-
9
- ```
10
- npm i validator
11
- ```
12
-
13
- Validator.js is a pretty big package. To prevent it from unnecessarily increasing your bundle size for rules you don't use, import the ones you use individually.
14
-
15
- Then add those rules with `enforce.extend`:
16
-
17
- ```js
18
- import isEmail from 'validator/es/lib/isEmail';
19
- import isMobilePhone from 'validator/es/lib/isMobilePhone';
20
-
21
- enforce.extend({ isEmail, isMobilePhone });
22
-
23
- enforce('example@example.com').isEmail(); // ✅
24
- enforce('example[at]example[dot]com').isEmail(); // 🚨
25
- ```
26
-
27
- A full list of the supported validator.js rules can be found on [npmjs.com/package/validator](https://www.npmjs.com/package/validator).
package/docs/index.html DELETED
@@ -1,32 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8" />
5
- <title>n4s - Enforce - Validation assertions library</title>
6
- <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
7
- <meta
8
- name="description"
9
- content="Enforce - Validation assertions library"
10
- />
11
- <meta
12
- name="viewport"
13
- content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"
14
- />
15
- <link rel="stylesheet" href="//unpkg.com/docsify/lib/themes/vue.css" />
16
- </head>
17
- <body>
18
- <div id="app"></div>
19
- <script>
20
- window.$docsify = {
21
- name: 'n4s - enforce',
22
- repo: 'https://github.com/ealush/n4s',
23
- search: 'auto',
24
- loadSidebar: true,
25
- subMaxLevel: 2,
26
- themeColor: '#539BDB',
27
- };
28
- </script>
29
- <script src="//unpkg.com/docsify/lib/docsify.min.js"></script>
30
- <script src="//unpkg.com/docsify/lib/plugins/search.min.js"></script>
31
- </body>
32
- </html>