n4s 4.3.0-dev-c4ba9b → 4.3.0

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