n4s 4.0.1 → 4.1.1-dev-0bdac6

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.
@@ -149,6 +149,11 @@ var isEven = function (value) {
149
149
  return false;
150
150
  };
151
151
 
152
+ function isKeyOf(key, obj) {
153
+ return key in obj;
154
+ }
155
+ var isNotKeyOf = bindNot(isKeyOf);
156
+
152
157
  function isNaN$1(value) {
153
158
  return Number.isNaN(value);
154
159
  }
@@ -179,6 +184,19 @@ function isTruthy(value) {
179
184
  }
180
185
  var isFalsy = bindNot(isTruthy);
181
186
 
187
+ function isValueOf(value, objectToCheck) {
188
+ if (isNullish(objectToCheck)) {
189
+ return false;
190
+ }
191
+ for (var key in objectToCheck) {
192
+ if (objectToCheck[key] === value) {
193
+ return true;
194
+ }
195
+ }
196
+ return false;
197
+ }
198
+ var isNotValueOf = bindNot(isValueOf);
199
+
182
200
  function lessThan(value, lt) {
183
201
  return isNumeric(value) && isNumeric(lt) && Number(value) < Number(lt);
184
202
  }
@@ -251,6 +269,7 @@ function rules() {
251
269
  isEmpty: isEmpty,
252
270
  isEven: isEven,
253
271
  isFalsy: isFalsy,
272
+ isKeyOf: isKeyOf,
254
273
  isNaN: isNaN$1,
255
274
  isNegative: isNegative,
256
275
  isNotArray: isNotArray,
@@ -258,6 +277,7 @@ function rules() {
258
277
  isNotBlank: isNotBlank,
259
278
  isNotBoolean: isNotBoolean,
260
279
  isNotEmpty: isNotEmpty,
280
+ isNotKeyOf: isNotKeyOf,
261
281
  isNotNaN: isNotNaN,
262
282
  isNotNull: isNotNull,
263
283
  isNotNullish: isNotNullish,
@@ -265,6 +285,7 @@ function rules() {
265
285
  isNotNumeric: isNotNumeric,
266
286
  isNotString: isNotString,
267
287
  isNotUndefined: isNotUndefined,
288
+ isNotValueOf: isNotValueOf,
268
289
  isNull: isNull,
269
290
  isNullish: isNullish,
270
291
  isNumber: isNumber,
@@ -274,6 +295,7 @@ function rules() {
274
295
  isString: isStringValue,
275
296
  isTruthy: isTruthy,
276
297
  isUndefined: isUndefined,
298
+ isValueOf: isValueOf,
277
299
  lengthEquals: lengthEquals,
278
300
  lengthNotEquals: lengthNotEquals,
279
301
  lessThan: lessThan,
@@ -361,7 +383,7 @@ function __spreadArray(to, from, pack) {
361
383
  ar[i] = from[i];
362
384
  }
363
385
  }
364
- return to.concat(ar || from);
386
+ return to.concat(ar || Array.prototype.slice.call(from));
365
387
  }
366
388
 
367
389
  function optionalFunctionValue(value) {
@@ -581,7 +603,7 @@ function genEnforce() {
581
603
  // Only on the first rule access - start the chain of calls
582
604
  target[ruleName] = genEnforceLazy(ruleName);
583
605
  });
584
- return target;
606
+ return assign(enforceEager, target);
585
607
  }
586
608
  return new Proxy(assign(enforceEager, target), {
587
609
  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 O(n,r){return!!(d(r)||c(r)&&c(n))&&-1!==r.indexOf(n)}var E=e(O);function x(n,r){return h(n)&&h(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 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 K(n,r){return n in r}var M=e(K);function R(n){return Number.isNaN(n)}var U=e(R);function V(n){return!!h(n)&&0>Number(n)}var _=e(V),C=function(n){return!!h(n)&&0!=n%2},X=e(c);function z(n){return!!n}var D=e(z);function G(n,r){if(s(r))return!1;for(var t in r)if(r[t]===n)return!0;return!1}var H=e(G);function L(n,r){return h(n)&&h(r)&&Number(n)<Number(r)}function Q(n,r){return n.length>Number(r)}function Y(n,r){return n.length>=Number(r)}function Z(n,r){return r instanceof RegExp?r.test(n):!!c(r)&&new RegExp(r).test(n)}var $=e(Z);function nn(n,r){return h(n)&&h(r)&&Number(n)===Number(r)}var rn=e(nn);function tn(n,r){try{return r(n)}catch(n){return!1}}function en(n,r){return n.length<Number(r)}function un(n,r){return n.length<=Number(r)}function on(n,r){return c(n)&&c(r)&&n.startsWith(r)}var an=e(on);var sn={condition:tn,doesNotEndWith:v,doesNotStartWith:an,endsWith:l,equals:N,greaterThan:m,greaterThanOrEquals:y,gt:m,gte:y,inside:O,isArray:d,isBetween:q,isBlank:T,isBoolean:S,isEmpty:F,isEven:J,isFalsy:D,isKeyOf:K,isNaN:R,isNegative:V,isNotArray:b,isNotBetween:w,isNotBlank:P,isNotBoolean:A,isNotEmpty:I,isNotKeyOf:M,isNotNaN:U,isNotNull:i,isNotNullish:f,isNotNumber:W,isNotNumeric:g,isNotString:X,isNotUndefined:a,isNotValueOf:H,isNull:u,isNullish:s,isNumber:B,isNumeric:h,isOdd:C,isPositive:_,isString:c,isTruthy:z,isUndefined:o,isValueOf:G,lengthEquals:j,lengthNotEquals:k,lessThan:L,lessThanOrEquals:x,longerThan:Q,longerThanOrEquals:Y,lt:L,lte:x,matches:Z,notEquals:p,notInside:E,notMatches:$,numberEquals:nn,numberNotEquals:rn,shorterThan:en,shorterThanOrEquals:un,startsWith:on};function fn(n){return sn[n]}function cn(n){for(var r in sn){var e=fn(r);t(e)&&n(r,e)}}var ln=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:vn})}));function vn(){return null}function Nn(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 pn(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 hn(n,r){var t;return null!==(t=pn(n))&&void 0!==t?t:r}function gn(n,r){throw Error(hn(r,n))}function mn(){try{return t(Proxy)}catch(n){return!1}}function yn(n,r){return n={pass:n},r&&(n.message=r),n}function dn(n){return hn(n,yn(!0))}function bn(n,r,t){for(var e=[],u=3;u<arguments.length;u++)e[u-3]=arguments[u];return On(n),S(n)?yn(n):yn(n.pass,pn.apply(void 0,Nn([n.message,r,t],e)))}function On(n){S(n)||n&&S(n.pass)||gn("Incorrect return value for rule: "+JSON.stringify(n))}function En(n){function r(r,t,e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];if(!(i=bn.apply(void 0,Nn([ln.run({value:n},(function(){return t.apply(void 0,Nn([n],u))})),e,n],u))).pass){if(!F(i.message))throw i.message;gn("enforce/"+e+" failed with "+JSON.stringify(n))}return r}}var t={};if(!mn())return cn((function(n,e){t[n]=r(t,e,n)})),t;var e=new Proxy(t,{get:function(n,t){if(n=fn(t))return r(e,n,t)}});return e}function xn(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 qn(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=fn(e);t.push((function(n){return bn.apply(void 0,Nn([o.apply(void 0,Nn([n],u)),e,n],u))}));var a={run:function(n){return dn(xn(t,(function(t,e){var u,i=ln.run({value:n},(function(){return t(n)}));i.pass||e(yn(!!i.pass,null!==(u=pn(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 mn()?a=new Proxy(a,{get:function(r,t){return fn(t)?n(t):r[t]}}):(cn((function(r){a[r]=n(r)})),a)}}(n)}var wn,Tn=(wn={context:function(){return ln.useX()},extend:function(n){r(sn,n)}},mn()?new Proxy(r(En,wn),{get:function(n,r){return r in n?n[r]:fn(r)?qn(r):void 0}}):(cn((function(n){wn[n]=qn(n)})),r(En,wn)));exports.ctx=ln,exports.enforce=Tn;
@@ -145,6 +145,11 @@ var isEven = function (value) {
145
145
  return false;
146
146
  };
147
147
 
148
+ function isKeyOf(key, obj) {
149
+ return key in obj;
150
+ }
151
+ var isNotKeyOf = bindNot(isKeyOf);
152
+
148
153
  function isNaN$1(value) {
149
154
  return Number.isNaN(value);
150
155
  }
@@ -175,6 +180,19 @@ function isTruthy(value) {
175
180
  }
176
181
  var isFalsy = bindNot(isTruthy);
177
182
 
183
+ function isValueOf(value, objectToCheck) {
184
+ if (isNullish(objectToCheck)) {
185
+ return false;
186
+ }
187
+ for (var key in objectToCheck) {
188
+ if (objectToCheck[key] === value) {
189
+ return true;
190
+ }
191
+ }
192
+ return false;
193
+ }
194
+ var isNotValueOf = bindNot(isValueOf);
195
+
178
196
  function lessThan(value, lt) {
179
197
  return isNumeric(value) && isNumeric(lt) && Number(value) < Number(lt);
180
198
  }
@@ -247,6 +265,7 @@ function rules() {
247
265
  isEmpty: isEmpty,
248
266
  isEven: isEven,
249
267
  isFalsy: isFalsy,
268
+ isKeyOf: isKeyOf,
250
269
  isNaN: isNaN$1,
251
270
  isNegative: isNegative,
252
271
  isNotArray: isNotArray,
@@ -254,6 +273,7 @@ function rules() {
254
273
  isNotBlank: isNotBlank,
255
274
  isNotBoolean: isNotBoolean,
256
275
  isNotEmpty: isNotEmpty,
276
+ isNotKeyOf: isNotKeyOf,
257
277
  isNotNaN: isNotNaN,
258
278
  isNotNull: isNotNull,
259
279
  isNotNullish: isNotNullish,
@@ -261,6 +281,7 @@ function rules() {
261
281
  isNotNumeric: isNotNumeric,
262
282
  isNotString: isNotString,
263
283
  isNotUndefined: isNotUndefined,
284
+ isNotValueOf: isNotValueOf,
264
285
  isNull: isNull,
265
286
  isNullish: isNullish,
266
287
  isNumber: isNumber,
@@ -270,6 +291,7 @@ function rules() {
270
291
  isString: isStringValue,
271
292
  isTruthy: isTruthy,
272
293
  isUndefined: isUndefined,
294
+ isValueOf: isValueOf,
273
295
  lengthEquals: lengthEquals,
274
296
  lengthNotEquals: lengthNotEquals,
275
297
  lessThan: lessThan,
@@ -357,7 +379,7 @@ function __spreadArray(to, from, pack) {
357
379
  ar[i] = from[i];
358
380
  }
359
381
  }
360
- return to.concat(ar || from);
382
+ return to.concat(ar || Array.prototype.slice.call(from));
361
383
  }
362
384
 
363
385
  function optionalFunctionValue(value) {
@@ -577,7 +599,7 @@ function genEnforce() {
577
599
  // Only on the first rule access - start the chain of calls
578
600
  target[ruleName] = genEnforceLazy(ruleName);
579
601
  });
580
- return target;
602
+ return assign(enforceEager, target);
581
603
  }
582
604
  return new Proxy(assign(enforceEager, target), {
583
605
  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,r){return n in r}var K=e(J);function R(n){return Number.isNaN(n)}var U=e(R);function V(n){return!!m(n)&&0>Number(n)}var M=e(V),X=e(c);function z(n){return!!n}var C=e(z);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 m(n)&&m(r)&&Number(n)<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 Y(n,r){return m(n)&&m(r)&&Number(n)===Number(r)}var Z=e(Y);function $(n,r){return c(n)&&c(r)&&n.startsWith(r)}var _={condition:function(n,r){try{return r(n)}catch(n){return!1}},doesNotEndWith:v,doesNotStartWith:e($),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:C,isKeyOf:J,isNaN:R,isNegative:V,isNotArray:d,isNotBetween:w,isNotBlank:S,isNotBoolean:B,isNotEmpty:I,isNotKeyOf:K,isNotNaN:U,isNotNull:i,isNotNullish:f,isNotNumber:W,isNotNumeric:p,isNotString:X,isNotUndefined:a,isNotValueOf:G,isNull:u,isNullish:s,isNumber:P,isNumeric:m,isOdd:function(n){return!!m(n)&&0!=n%2},isPositive:M,isString:c,isTruthy:z,isUndefined:o,isValueOf:D,lengthEquals:j,lengthNotEquals:k,lessThan:H,lessThanOrEquals:x,longerThan:function(n,r){return n.length>Number(r)},longerThanOrEquals:function(n,r){return n.length>=Number(r)},lt:H,lte:x,matches:L,notEquals:h,notInside:O,notMatches:Q,numberEquals:Y,numberNotEquals:Z,shorterThan:function(n,r){return n.length<Number(r)},shorterThanOrEquals:function(n,r){return n.length<=Number(r)},startsWith:$};function nn(n){for(var r in _){var e=_[r];t(e)&&n(r,e)}}var rn=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:tn})}));function tn(){return null}function en(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 un(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 on(n,r){var t;return null!==(t=un(n))&&void 0!==t?t:r}function an(n,r){throw Error(on(r,n))}function sn(){try{return t(Proxy)}catch(n){return!1}}function fn(n,r){return n={pass:n},r&&(n.message=r),n}function cn(n,r,t){for(var e=[],u=3;u<arguments.length;u++)e[u-3]=arguments[u];return A(n)||n&&A(n.pass)||an("Incorrect return value for rule: "+JSON.stringify(n)),A(n)?fn(n):fn(n.pass,un.apply(void 0,en([n.message,r,t],e)))}function ln(n){function r(r,t,e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];if(!(i=cn.apply(void 0,en([rn.run({value:n},(function(){return t.apply(void 0,en([n],u))})),e,n],u))).pass){if(!F(i.message))throw i.message;an("enforce/"+e+" failed with "+JSON.stringify(n))}return r}}var t={};if(!sn())return nn((function(n,e){t[n]=r(t,e,n)})),t;var e=new Proxy(t,{get:function(n,t){if(n=_[t])return r(e,n,t)}});return e}function vn(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 Nn(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=_[e];t.push((function(n){return cn.apply(void 0,en([o.apply(void 0,en([n],u)),e,n],u))}));var a={run:function(n){return on(vn(t,(function(t,e){var u,i=rn.run({value:n},(function(){return t(n)}));i.pass||e(fn(!!i.pass,null!==(u=un(r,n,i.message))&&void 0!==u?u:i.message))})),fn(!0))},test:function(n){return a.run(n).pass},message:function(n){return n&&(r=n),a}};return sn()?a=new Proxy(a,{get:function(r,t){return _[t]?n(t):r[t]}}):(nn((function(r){a[r]=n(r)})),a)}}(n)}var hn,mn=(hn={context:function(){return rn.useX()},extend:function(n){r(_,n)}},sn()?new Proxy(r(ln,hn),{get:function(n,r){return r in n?n[r]:_[r]?Nn(r):void 0}}):(nn((function(n){hn[n]=Nn(n)})),r(ln,hn)));export{rn as ctx,mn 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
 
@@ -149,6 +149,11 @@
149
149
  return false;
150
150
  };
151
151
 
152
+ function isKeyOf(key, obj) {
153
+ return key in obj;
154
+ }
155
+ var isNotKeyOf = bindNot(isKeyOf);
156
+
152
157
  function isNaN$1(value) {
153
158
  return Number.isNaN(value);
154
159
  }
@@ -179,6 +184,19 @@
179
184
  }
180
185
  var isFalsy = bindNot(isTruthy);
181
186
 
187
+ function isValueOf(value, objectToCheck) {
188
+ if (isNullish(objectToCheck)) {
189
+ return false;
190
+ }
191
+ for (var key in objectToCheck) {
192
+ if (objectToCheck[key] === value) {
193
+ return true;
194
+ }
195
+ }
196
+ return false;
197
+ }
198
+ var isNotValueOf = bindNot(isValueOf);
199
+
182
200
  function lessThan(value, lt) {
183
201
  return isNumeric(value) && isNumeric(lt) && Number(value) < Number(lt);
184
202
  }
@@ -251,6 +269,7 @@
251
269
  isEmpty: isEmpty,
252
270
  isEven: isEven,
253
271
  isFalsy: isFalsy,
272
+ isKeyOf: isKeyOf,
254
273
  isNaN: isNaN$1,
255
274
  isNegative: isNegative,
256
275
  isNotArray: isNotArray,
@@ -258,6 +277,7 @@
258
277
  isNotBlank: isNotBlank,
259
278
  isNotBoolean: isNotBoolean,
260
279
  isNotEmpty: isNotEmpty,
280
+ isNotKeyOf: isNotKeyOf,
261
281
  isNotNaN: isNotNaN,
262
282
  isNotNull: isNotNull,
263
283
  isNotNullish: isNotNullish,
@@ -265,6 +285,7 @@
265
285
  isNotNumeric: isNotNumeric,
266
286
  isNotString: isNotString,
267
287
  isNotUndefined: isNotUndefined,
288
+ isNotValueOf: isNotValueOf,
268
289
  isNull: isNull,
269
290
  isNullish: isNullish,
270
291
  isNumber: isNumber,
@@ -274,6 +295,7 @@
274
295
  isString: isStringValue,
275
296
  isTruthy: isTruthy,
276
297
  isUndefined: isUndefined,
298
+ isValueOf: isValueOf,
277
299
  lengthEquals: lengthEquals,
278
300
  lengthNotEquals: lengthNotEquals,
279
301
  lessThan: lessThan,
@@ -308,7 +330,77 @@
308
330
  }
309
331
  }
310
332
 
311
- var ctx = context.createContext(function (ctxRef, parentContext) {
333
+ function optionalFunctionValue(value) {
334
+ var args = [];
335
+ for (var _i = 1; _i < arguments.length; _i++) {
336
+ args[_i - 1] = arguments[_i];
337
+ }
338
+ return isFunction(value) ? value.apply(void 0, args) : value;
339
+ }
340
+
341
+ function defaultTo(callback, defaultValue) {
342
+ var _a;
343
+ return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
344
+ }
345
+
346
+ /**
347
+ * Throws a timed out error.
348
+ */
349
+ function throwError(devMessage, productionMessage) {
350
+ throw new Error(devMessage );
351
+ }
352
+
353
+ // eslint-disable-next-line max-lines-per-function
354
+ function createContext(init) {
355
+ var storage = { ancestry: [] };
356
+ return {
357
+ bind: bind,
358
+ run: run,
359
+ use: use,
360
+ useX: useX
361
+ };
362
+ function useX(errorMessage) {
363
+ var _a;
364
+ return ((_a = storage.ctx) !== null && _a !== void 0 ? _a : throwError(defaultTo(errorMessage, 'Context was used after it was closed')));
365
+ }
366
+ function run(ctxRef, fn) {
367
+ var _a;
368
+ var parentContext = use();
369
+ var out = assign({}, parentContext ? parentContext : {}, (_a = optionalFunctionValue(init, ctxRef, parentContext)) !== null && _a !== void 0 ? _a : ctxRef);
370
+ var ctx = set(Object.freeze(out));
371
+ storage.ancestry.unshift(ctx);
372
+ var res = fn(ctx);
373
+ clear();
374
+ return res;
375
+ }
376
+ function bind(ctxRef, fn) {
377
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
378
+ // @ts-ignore - this one's pretty hard to get right
379
+ var returnedFn = function () {
380
+ var runTimeArgs = [];
381
+ for (var _i = 0; _i < arguments.length; _i++) {
382
+ runTimeArgs[_i] = arguments[_i];
383
+ }
384
+ return run(ctxRef, function () {
385
+ return fn.apply(void 0, runTimeArgs);
386
+ });
387
+ };
388
+ return returnedFn;
389
+ }
390
+ function use() {
391
+ return storage.ctx;
392
+ }
393
+ function set(value) {
394
+ return (storage.ctx = value);
395
+ }
396
+ function clear() {
397
+ var _a;
398
+ storage.ancestry.shift();
399
+ set((_a = storage.ancestry[0]) !== null && _a !== void 0 ? _a : null);
400
+ }
401
+ }
402
+
403
+ var ctx = createContext(function (ctxRef, parentContext) {
312
404
  var base = {
313
405
  value: ctxRef.value,
314
406
  meta: ctxRef.meta || {}
@@ -361,27 +453,7 @@
361
453
  ar[i] = from[i];
362
454
  }
363
455
  }
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 );
456
+ return to.concat(ar || Array.prototype.slice.call(from));
385
457
  }
386
458
 
387
459
  function isProxySupported() {
@@ -581,7 +653,7 @@
581
653
  // Only on the first rule access - start the chain of calls
582
654
  target[ruleName] = genEnforceLazy(ruleName);
583
655
  });
584
- return target;
656
+ return assign(enforceEager, target);
585
657
  }
586
658
  return new Proxy(assign(enforceEager, target), {
587
659
  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 y(n){return"number"==typeof n}function m(n,t){return n.length===Number(t)}function b(n){if(n){if(y(n))return 0===n;if(Object.prototype.hasOwnProperty.call(n,"length"))return m(n,0);if("object"==typeof n)return m(Object.keys(n),0)}return!0}function x(n,t){return n in t}function O(n){return Number.isNaN(n)}function E(n){return!!a(n)&&0>Number(n)}function w(n){return!!n}function T(n,t){if(i(t))return!1;for(var r in t)if(t[r]===n)return!0;return!1}function q(n,t){return a(n)&&a(t)&&Number(n)<Number(t)}function j(n,t){return t instanceof RegExp?t.test(n):!!o(t)&&new RegExp(t).test(n)}function P(n,t){return a(n)&&a(t)&&Number(n)===Number(t)}function S(n,t){return o(n)&&o(t)&&n.startsWith(t)}function A(n){for(var r in pn){var e=pn[r];t(e)&&n(r,e)}}function B(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 W(n,t){var r;return null!==(r=B(n))&&void 0!==r?r:t}function k(n,t){throw Error(W(t,n))}function F(){return null}function I(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 J(){try{return t(Proxy)}catch(n){return!1}}function K(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)||k("Incorrect return value for rule: "+JSON.stringify(n)),g(n)?K(n):K(n.pass,B.apply(void 0,I([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,I([hn.run({value:n},(function(){return r.apply(void 0,I([n],u))})),e,n],u))).pass){if(!b(i.message))throw i.message;k("enforce/"+e+" failed with "+JSON.stringify(n))}return t}}var r={};if(!J())return A((function(n,e){r[n]=t(r,e,n)})),r;var e=new Proxy(r,{get:function(n,r){if(n=pn[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=pn[e];r.push((function(n){return M.apply(void 0,I([o.apply(void 0,I([n],u)),e,n],u))}));var s={run:function(n){return W(U(r,(function(r,e){var u,i=hn.run({value:n},(function(){return r(n)}));i.pass||e(K(!!i.pass,null!==(u=B(t,n,i.message))&&void 0!==u?u:i.message))})),K(!0))},test:function(n){return s.run(n).pass},message:function(n){return n&&(t=n),s}};return J()?s=new Proxy(s,{get:function(t,r){return pn[r]?n(r):t[r]}}):(A((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),L=r(a),Q=r(N),Y=r(p),Z=r(v),$=r(d),nn=r(g),tn=r(y),rn=r(m),en=r(b),un=r(x),on=r(O),sn=r(E),fn=r(o),an=r(w),cn=r(T),ln=r(j),Nn=r(P),pn={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:G,doesNotStartWith:r(S),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:an,isKeyOf:x,isNaN:O,isNegative:E,isNotArray:Q,isNotBetween:Z,isNotBlank:$,isNotBoolean:nn,isNotEmpty:en,isNotKeyOf:un,isNotNaN:on,isNotNull:z,isNotNullish:D,isNotNumber:tn,isNotNumeric:L,isNotString:fn,isNotUndefined:C,isNotValueOf:cn,isNull:e,isNullish:i,isNumber:y,isNumeric:a,isOdd:function(n){return!!a(n)&&0!=n%2},isPositive:sn,isString:o,isTruthy:w,isUndefined:u,isValueOf:T,lengthEquals:m,lengthNotEquals:rn,lessThan:q,lessThanOrEquals:h,longerThan:function(n,t){return n.length>Number(t)},longerThanOrEquals:function(n,t){return n.length>=Number(t)},lt:q,lte:h,matches:j,notEquals:H,notInside:Y,notMatches:ln,numberEquals:P,numberNotEquals:Nn,shorterThan:function(n,t){return n.length<Number(t)},shorterThanOrEquals:function(n,t){return n.length<=Number(t)},startsWith:S},hn=function(n){function t(t,u){var i,o,s=r();return t=_({},s||{},null!==(i=B(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:k(W(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:F})}));X={context:function(){return hn.useX()},extend:function(n){_(pn,n)}},z=J()?new Proxy(_(R,X),{get:function(n,t){return t in n?n[t]:pn[t]?V(t):void 0}}):(A((function(n){X[n]=V(n)})),_(R,X)),n.ctx=hn,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.1.1-dev-0bdac6",
3
3
  "license": "MIT",
4
4
  "main": "./dist/cjs/n4s.js",
5
5
  "types": "./types/n4s.d.ts",
@@ -28,6 +28,7 @@ declare function isBetween(value: number | string, min: number | string, max: nu
28
28
  declare function isBlank(value: unknown): boolean;
29
29
  declare function isBoolean(value: unknown): value is boolean;
30
30
  declare function isEmpty(value: unknown): boolean;
31
+ declare function isKeyOf(key: string | symbol | number, obj: any): boolean;
31
32
  declare function isNaN(value: unknown): boolean;
32
33
  declare function isNegative(value: number | string): boolean;
33
34
  declare function isNull(value: unknown): value is null;
@@ -37,6 +38,7 @@ declare function isNumeric(value: string | number): boolean;
37
38
  declare function isStringValue(v: unknown): v is string;
38
39
  declare function isTruthy(value: unknown): boolean;
39
40
  declare function isUndefined(value?: unknown): boolean;
41
+ declare function isValueOf(value: any, objectToCheck: any): boolean;
40
42
  declare function lengthEquals(value: string | unknown[], arg1: string | number): boolean;
41
43
  declare function lessThan(value: string | number, lt: string | number): boolean;
42
44
  declare function lessThanOrEquals(value: string | number, lte: string | number): boolean;
@@ -65,6 +67,7 @@ declare const baseRules: {
65
67
  isEmpty: typeof isEmpty;
66
68
  isEven: (value: any) => boolean;
67
69
  isFalsy: (value: unknown) => boolean;
70
+ isKeyOf: typeof isKeyOf;
68
71
  isNaN: typeof isNaN;
69
72
  isNegative: typeof isNegative;
70
73
  isNotArray: (value: unknown) => boolean;
@@ -72,6 +75,7 @@ declare const baseRules: {
72
75
  isNotBlank: (value: unknown) => boolean;
73
76
  isNotBoolean: (value: unknown) => boolean;
74
77
  isNotEmpty: (value: unknown) => boolean;
78
+ isNotKeyOf: (key: string | number | symbol, obj: any) => boolean;
75
79
  isNotNaN: (value: unknown) => boolean;
76
80
  isNotNull: (value: unknown) => boolean;
77
81
  isNotNullish: (value: any) => boolean;
@@ -79,6 +83,7 @@ declare const baseRules: {
79
83
  isNotNumeric: (value: string | number) => boolean;
80
84
  isNotString: (v: unknown) => boolean;
81
85
  isNotUndefined: (value?: unknown) => boolean;
86
+ isNotValueOf: (value: any, objectToCheck: any) => boolean;
82
87
  isNull: typeof isNull;
83
88
  isNullish: typeof isNullish;
84
89
  isNumber: typeof isNumber;
@@ -88,6 +93,7 @@ declare const baseRules: {
88
93
  isString: typeof isStringValue;
89
94
  isTruthy: typeof isTruthy;
90
95
  isUndefined: typeof isUndefined;
96
+ isValueOf: typeof isValueOf;
91
97
  lengthEquals: typeof lengthEquals;
92
98
  lengthNotEquals: (value: string | unknown[], arg1: string | number) => boolean;
93
99
  lessThan: typeof lessThan;
@@ -28,6 +28,7 @@ declare function isBetween(value: number | string, min: number | string, max: nu
28
28
  declare function isBlank(value: unknown): boolean;
29
29
  declare function isBoolean(value: unknown): value is boolean;
30
30
  declare function isEmpty(value: unknown): boolean;
31
+ declare function isKeyOf(key: string | symbol | number, obj: any): boolean;
31
32
  declare function isNaN(value: unknown): boolean;
32
33
  declare function isNegative(value: number | string): boolean;
33
34
  declare function isNull(value: unknown): value is null;
@@ -37,6 +38,7 @@ declare function isNumeric(value: string | number): boolean;
37
38
  declare function isStringValue(v: unknown): v is string;
38
39
  declare function isTruthy(value: unknown): boolean;
39
40
  declare function isUndefined(value?: unknown): boolean;
41
+ declare function isValueOf(value: any, objectToCheck: any): boolean;
40
42
  declare function lengthEquals(value: string | unknown[], arg1: string | number): boolean;
41
43
  declare function lessThan(value: string | number, lt: string | number): boolean;
42
44
  declare function lessThanOrEquals(value: string | number, lte: string | number): boolean;
@@ -65,6 +67,7 @@ declare const baseRules: {
65
67
  isEmpty: typeof isEmpty;
66
68
  isEven: (value: any) => boolean;
67
69
  isFalsy: (value: unknown) => boolean;
70
+ isKeyOf: typeof isKeyOf;
68
71
  isNaN: typeof isNaN;
69
72
  isNegative: typeof isNegative;
70
73
  isNotArray: (value: unknown) => boolean;
@@ -72,6 +75,7 @@ declare const baseRules: {
72
75
  isNotBlank: (value: unknown) => boolean;
73
76
  isNotBoolean: (value: unknown) => boolean;
74
77
  isNotEmpty: (value: unknown) => boolean;
78
+ isNotKeyOf: (key: string | number | symbol, obj: any) => boolean;
75
79
  isNotNaN: (value: unknown) => boolean;
76
80
  isNotNull: (value: unknown) => boolean;
77
81
  isNotNullish: (value: any) => boolean;
@@ -79,6 +83,7 @@ declare const baseRules: {
79
83
  isNotNumeric: (value: string | number) => boolean;
80
84
  isNotString: (v: unknown) => boolean;
81
85
  isNotUndefined: (value?: unknown) => boolean;
86
+ isNotValueOf: (value: any, objectToCheck: any) => boolean;
82
87
  isNull: typeof isNull;
83
88
  isNullish: typeof isNullish;
84
89
  isNumber: typeof isNumber;
@@ -88,6 +93,7 @@ declare const baseRules: {
88
93
  isString: typeof isStringValue;
89
94
  isTruthy: typeof isTruthy;
90
95
  isUndefined: typeof isUndefined;
96
+ isValueOf: typeof isValueOf;
91
97
  lengthEquals: typeof lengthEquals;
92
98
  lengthNotEquals: (value: string | unknown[], arg1: string | number) => boolean;
93
99
  lessThan: typeof lessThan;
package/types/n4s.d.ts CHANGED
@@ -48,6 +48,7 @@ declare function isBetween(value: number | string, min: number | string, max: nu
48
48
  declare function isBlank(value: unknown): boolean;
49
49
  declare function isBoolean(value: unknown): value is boolean;
50
50
  declare function isEmpty(value: unknown): boolean;
51
+ declare function isKeyOf(key: string | symbol | number, obj: any): boolean;
51
52
  declare function isNaN(value: unknown): boolean;
52
53
  declare function isNegative(value: number | string): boolean;
53
54
  declare function isNull(value: unknown): value is null;
@@ -57,6 +58,7 @@ declare function isNumeric(value: string | number): boolean;
57
58
  declare function isStringValue(v: unknown): v is string;
58
59
  declare function isTruthy(value: unknown): boolean;
59
60
  declare function isUndefined(value?: unknown): boolean;
61
+ declare function isValueOf(value: any, objectToCheck: any): boolean;
60
62
  declare function lengthEquals(value: string | unknown[], arg1: string | number): boolean;
61
63
  declare function lessThan(value: string | number, lt: string | number): boolean;
62
64
  declare function lessThanOrEquals(value: string | number, lte: string | number): boolean;
@@ -85,6 +87,7 @@ declare const baseRules: {
85
87
  isEmpty: typeof isEmpty;
86
88
  isEven: (value: any) => boolean;
87
89
  isFalsy: (value: unknown) => boolean;
90
+ isKeyOf: typeof isKeyOf;
88
91
  isNaN: typeof isNaN;
89
92
  isNegative: typeof isNegative;
90
93
  isNotArray: (value: unknown) => boolean;
@@ -92,6 +95,7 @@ declare const baseRules: {
92
95
  isNotBlank: (value: unknown) => boolean;
93
96
  isNotBoolean: (value: unknown) => boolean;
94
97
  isNotEmpty: (value: unknown) => boolean;
98
+ isNotKeyOf: (key: string | number | symbol, obj: any) => boolean;
95
99
  isNotNaN: (value: unknown) => boolean;
96
100
  isNotNull: (value: unknown) => boolean;
97
101
  isNotNullish: (value: any) => boolean;
@@ -99,6 +103,7 @@ declare const baseRules: {
99
103
  isNotNumeric: (value: string | number) => boolean;
100
104
  isNotString: (v: unknown) => boolean;
101
105
  isNotUndefined: (value?: unknown) => boolean;
106
+ isNotValueOf: (value: any, objectToCheck: any) => boolean;
102
107
  isNull: typeof isNull;
103
108
  isNullish: typeof isNullish;
104
109
  isNumber: typeof isNumber;
@@ -108,6 +113,7 @@ declare const baseRules: {
108
113
  isString: typeof isStringValue;
109
114
  isTruthy: typeof isTruthy;
110
115
  isUndefined: typeof isUndefined;
116
+ isValueOf: typeof isValueOf;
111
117
  lengthEquals: typeof lengthEquals;
112
118
  lengthNotEquals: (value: string | unknown[], arg1: string | number) => boolean;
113
119
  lessThan: typeof lessThan;
package/types/schema.d.ts CHANGED
@@ -28,6 +28,7 @@ declare function isBetween(value: number | string, min: number | string, max: nu
28
28
  declare function isBlank(value: unknown): boolean;
29
29
  declare function isBoolean(value: unknown): value is boolean;
30
30
  declare function isEmpty(value: unknown): boolean;
31
+ declare function isKeyOf(key: string | symbol | number, obj: any): boolean;
31
32
  declare function isNaN(value: unknown): boolean;
32
33
  declare function isNegative(value: number | string): boolean;
33
34
  declare function isNull(value: unknown): value is null;
@@ -37,6 +38,7 @@ declare function isNumeric(value: string | number): boolean;
37
38
  declare function isStringValue(v: unknown): v is string;
38
39
  declare function isTruthy(value: unknown): boolean;
39
40
  declare function isUndefined(value?: unknown): boolean;
41
+ declare function isValueOf(value: any, objectToCheck: any): boolean;
40
42
  declare function lengthEquals(value: string | unknown[], arg1: string | number): boolean;
41
43
  declare function lessThan(value: string | number, lt: string | number): boolean;
42
44
  declare function lessThanOrEquals(value: string | number, lte: string | number): boolean;
@@ -65,6 +67,7 @@ declare const baseRules: {
65
67
  isEmpty: typeof isEmpty;
66
68
  isEven: (value: any) => boolean;
67
69
  isFalsy: (value: unknown) => boolean;
70
+ isKeyOf: typeof isKeyOf;
68
71
  isNaN: typeof isNaN;
69
72
  isNegative: typeof isNegative;
70
73
  isNotArray: (value: unknown) => boolean;
@@ -72,6 +75,7 @@ declare const baseRules: {
72
75
  isNotBlank: (value: unknown) => boolean;
73
76
  isNotBoolean: (value: unknown) => boolean;
74
77
  isNotEmpty: (value: unknown) => boolean;
78
+ isNotKeyOf: (key: string | number | symbol, obj: any) => boolean;
75
79
  isNotNaN: (value: unknown) => boolean;
76
80
  isNotNull: (value: unknown) => boolean;
77
81
  isNotNullish: (value: any) => boolean;
@@ -79,6 +83,7 @@ declare const baseRules: {
79
83
  isNotNumeric: (value: string | number) => boolean;
80
84
  isNotString: (v: unknown) => boolean;
81
85
  isNotUndefined: (value?: unknown) => boolean;
86
+ isNotValueOf: (value: any, objectToCheck: any) => boolean;
82
87
  isNull: typeof isNull;
83
88
  isNullish: typeof isNullish;
84
89
  isNumber: typeof isNumber;
@@ -88,6 +93,7 @@ declare const baseRules: {
88
93
  isString: typeof isStringValue;
89
94
  isTruthy: typeof isTruthy;
90
95
  isUndefined: typeof isUndefined;
96
+ isValueOf: typeof isValueOf;
91
97
  lengthEquals: typeof lengthEquals;
92
98
  lengthNotEquals: (value: string | unknown[], arg1: string | number) => boolean;
93
99
  lessThan: typeof lessThan;
@@ -129,7 +135,7 @@ type TLazyRuleRunners = {
129
135
  run: (value: unknown) => TRuleDetailedResult;
130
136
  };
131
137
  type TLazyMessage = string | ((value: unknown, originalMessage?: TStringable) => string);
132
- declare function isArrayOf(inputArray: any[], currentRule: TLazy): TRuleDetailedResult;
138
+ declare function isArrayOf(inputArray: any[], currentRule: TLazyRuleRunners): TRuleDetailedResult;
133
139
  interface IShapeObject extends Record<string, any>, Record<string, TLazyRuleRunners> {
134
140
  }
135
141
  declare function loose(inputObject: Record<string, any>, shapeObject: IShapeObject): TRuleDetailedResult;
package/docs/.nojekyll DELETED
File without changes