vest 4.0.0-dev-7acb76 → 4.0.0-dev-31f012
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +3 -1
- package/dist/cjs/classnames.development.js +3 -3
- package/dist/cjs/classnames.production.js +1 -1
- package/dist/cjs/promisify.development.js +1 -1
- package/dist/cjs/promisify.production.js +1 -1
- package/dist/cjs/vest.development.js +95 -66
- package/dist/cjs/vest.production.js +1 -1
- package/dist/es/classnames.development.js +3 -3
- package/dist/es/classnames.production.js +1 -1
- package/dist/es/promisify.development.js +1 -1
- package/dist/es/promisify.production.js +1 -1
- package/dist/es/vest.development.js +95 -66
- package/dist/es/vest.production.js +1 -1
- package/dist/umd/classnames.development.js +3 -3
- package/dist/umd/classnames.production.js +1 -1
- package/dist/umd/promisify.development.js +1 -1
- package/dist/umd/promisify.production.js +1 -1
- package/dist/umd/vest.development.js +95 -66
- package/dist/umd/vest.production.js +1 -1
- package/package.json +1 -1
- package/types/classnames.d.ts +2 -2
- package/types/vest.d.ts +9 -2
- package/docs/.nojekyll +0 -0
- package/docs/README.md +0 -113
- package/docs/_assets/favicon.ico +0 -0
- package/docs/_assets/vest-logo.png +0 -0
- package/docs/_sidebar.md +0 -14
- package/docs/cross_field_validations.md +0 -33
- package/docs/enforce.md +0 -11
- package/docs/exclusion.md +0 -129
- package/docs/getting_started.md +0 -72
- package/docs/group.md +0 -142
- package/docs/index.html +0 -41
- package/docs/migration.md +0 -202
- package/docs/n4s/rules.md +0 -1282
- package/docs/node.md +0 -36
- package/docs/optional.md +0 -103
- package/docs/result.md +0 -249
- package/docs/state.md +0 -102
- package/docs/test.md +0 -172
- package/docs/utilities.md +0 -109
- package/docs/warn.md +0 -82
|
@@ -596,7 +596,7 @@ function eachEnforceRule(action) {
|
|
|
596
596
|
|
|
597
597
|
function isProxySupported() {
|
|
598
598
|
try {
|
|
599
|
-
return
|
|
599
|
+
return isFunction(Proxy);
|
|
600
600
|
}
|
|
601
601
|
catch (_a) {
|
|
602
602
|
return false;
|
|
@@ -1139,35 +1139,6 @@ function matchingFieldName(testObject, fieldName) {
|
|
|
1139
1139
|
return !!(fieldName && testObject.fieldName === fieldName);
|
|
1140
1140
|
}
|
|
1141
1141
|
|
|
1142
|
-
function omitOptionalTests() {
|
|
1143
|
-
var optionalFields = useOptionalFields()[0];
|
|
1144
|
-
if (isEmpty(optionalFields)) {
|
|
1145
|
-
return;
|
|
1146
|
-
}
|
|
1147
|
-
var shouldOmit = {};
|
|
1148
|
-
useSetTests(function (tests) {
|
|
1149
|
-
return transform(tests, function (testObject) {
|
|
1150
|
-
var fieldName = testObject.fieldName;
|
|
1151
|
-
if (shouldOmit.hasOwnProperty(fieldName)) {
|
|
1152
|
-
omit(testObject);
|
|
1153
|
-
}
|
|
1154
|
-
else {
|
|
1155
|
-
var optionalConfig = optionalFields[fieldName];
|
|
1156
|
-
if (isFunction(optionalConfig)) {
|
|
1157
|
-
shouldOmit[fieldName] = optionalConfig();
|
|
1158
|
-
omit(testObject);
|
|
1159
|
-
}
|
|
1160
|
-
}
|
|
1161
|
-
return testObject;
|
|
1162
|
-
});
|
|
1163
|
-
});
|
|
1164
|
-
function omit(testObject) {
|
|
1165
|
-
if (shouldOmit[testObject.fieldName]) {
|
|
1166
|
-
testObject.omit();
|
|
1167
|
-
}
|
|
1168
|
-
}
|
|
1169
|
-
}
|
|
1170
|
-
|
|
1171
1142
|
/**
|
|
1172
1143
|
* Checks if a given field, or the suite as a whole still have remaining tests.
|
|
1173
1144
|
*/
|
|
@@ -1518,15 +1489,6 @@ function deferDoneCallback(doneCallback, fieldName) {
|
|
|
1518
1489
|
});
|
|
1519
1490
|
}
|
|
1520
1491
|
|
|
1521
|
-
/**
|
|
1522
|
-
* Removes test object from suite state
|
|
1523
|
-
*/
|
|
1524
|
-
function removeTestFromState (testObject) {
|
|
1525
|
-
useSetTests(function (tests) {
|
|
1526
|
-
return transform(tests, function (test) { return (testObject !== test ? test : null); });
|
|
1527
|
-
});
|
|
1528
|
-
}
|
|
1529
|
-
|
|
1530
1492
|
function createBus() {
|
|
1531
1493
|
var listeners = {};
|
|
1532
1494
|
return {
|
|
@@ -1552,6 +1514,44 @@ function createBus() {
|
|
|
1552
1514
|
};
|
|
1553
1515
|
}
|
|
1554
1516
|
|
|
1517
|
+
function omitOptionalTests() {
|
|
1518
|
+
var optionalFields = useOptionalFields()[0];
|
|
1519
|
+
if (isEmpty(optionalFields)) {
|
|
1520
|
+
return;
|
|
1521
|
+
}
|
|
1522
|
+
var shouldOmit = {};
|
|
1523
|
+
useSetTests(function (tests) {
|
|
1524
|
+
return transform(tests, function (testObject) {
|
|
1525
|
+
var fieldName = testObject.fieldName;
|
|
1526
|
+
if (shouldOmit.hasOwnProperty(fieldName)) {
|
|
1527
|
+
omit(testObject);
|
|
1528
|
+
}
|
|
1529
|
+
else {
|
|
1530
|
+
var optionalConfig = optionalFields[fieldName];
|
|
1531
|
+
if (isFunction(optionalConfig)) {
|
|
1532
|
+
shouldOmit[fieldName] = optionalConfig();
|
|
1533
|
+
omit(testObject);
|
|
1534
|
+
}
|
|
1535
|
+
}
|
|
1536
|
+
return testObject;
|
|
1537
|
+
});
|
|
1538
|
+
});
|
|
1539
|
+
function omit(testObject) {
|
|
1540
|
+
if (shouldOmit[testObject.fieldName]) {
|
|
1541
|
+
testObject.omit();
|
|
1542
|
+
}
|
|
1543
|
+
}
|
|
1544
|
+
}
|
|
1545
|
+
|
|
1546
|
+
/**
|
|
1547
|
+
* Removes test object from suite state
|
|
1548
|
+
*/
|
|
1549
|
+
function removeTestFromState (testObject) {
|
|
1550
|
+
useSetTests(function (tests) {
|
|
1551
|
+
return transform(tests, function (test) { return (testObject !== test ? test : null); });
|
|
1552
|
+
});
|
|
1553
|
+
}
|
|
1554
|
+
|
|
1555
1555
|
function callEach(arr) {
|
|
1556
1556
|
return arr.forEach(function (fn) { return fn(); });
|
|
1557
1557
|
}
|
|
@@ -1579,6 +1579,8 @@ function runDoneCallbacks() {
|
|
|
1579
1579
|
|
|
1580
1580
|
function initBus() {
|
|
1581
1581
|
var bus = createBus();
|
|
1582
|
+
// Report a the completion of a test. There may be other tests with the same
|
|
1583
|
+
// name that are still running, or not yet started.
|
|
1582
1584
|
bus.on(Events.TEST_COMPLETED, function (testObject) {
|
|
1583
1585
|
if (testObject.isCanceled()) {
|
|
1584
1586
|
return;
|
|
@@ -1587,6 +1589,22 @@ function initBus() {
|
|
|
1587
1589
|
runFieldCallbacks(testObject.fieldName);
|
|
1588
1590
|
runDoneCallbacks();
|
|
1589
1591
|
});
|
|
1592
|
+
// Report that the suite completed its synchronous test run.
|
|
1593
|
+
// Async operations may still be running.
|
|
1594
|
+
bus.on(Events.SUITE_COMPLETED, function () {
|
|
1595
|
+
// Remove tests that are optional and need to be omitted
|
|
1596
|
+
omitOptionalTests();
|
|
1597
|
+
});
|
|
1598
|
+
// Removes a certain field from the state.
|
|
1599
|
+
bus.on(Events.REMOVE_FIELD, function (fieldName) {
|
|
1600
|
+
var testObjects = useTestsFlat();
|
|
1601
|
+
testObjects.forEach(function (testObject) {
|
|
1602
|
+
if (matchingFieldName(testObject, fieldName)) {
|
|
1603
|
+
testObject.cancel();
|
|
1604
|
+
removeTestFromState(testObject);
|
|
1605
|
+
}
|
|
1606
|
+
});
|
|
1607
|
+
});
|
|
1590
1608
|
return bus;
|
|
1591
1609
|
}
|
|
1592
1610
|
function useBus() {
|
|
@@ -1599,42 +1617,48 @@ function useBus() {
|
|
|
1599
1617
|
var Events;
|
|
1600
1618
|
(function (Events) {
|
|
1601
1619
|
Events["TEST_COMPLETED"] = "test_completed";
|
|
1620
|
+
Events["REMOVE_FIELD"] = "remove_field";
|
|
1621
|
+
Events["SUITE_COMPLETED"] = "suite_completed";
|
|
1602
1622
|
})(Events || (Events = {}));
|
|
1603
1623
|
|
|
1604
1624
|
// eslint-disable-next-line max-lines-per-function
|
|
1605
1625
|
function create(suiteCallback) {
|
|
1606
1626
|
if (!isFunction(suiteCallback)) {
|
|
1607
|
-
throwError('
|
|
1627
|
+
throwError('vest.create: Expected callback to be a function.');
|
|
1608
1628
|
}
|
|
1629
|
+
// Event bus initialization
|
|
1609
1630
|
var bus = initBus();
|
|
1631
|
+
// State initialization
|
|
1610
1632
|
var state = createState();
|
|
1633
|
+
// State reference - this holds the actual state values
|
|
1611
1634
|
var stateRef = createStateRef(state, { suiteId: genId() });
|
|
1612
|
-
|
|
1635
|
+
// Create base context reference. All hooks will derive their data from this
|
|
1636
|
+
var ctxRef = { stateRef: stateRef, bus: bus };
|
|
1637
|
+
var suite = assign(
|
|
1638
|
+
// Bind the suite body to the context
|
|
1639
|
+
ctx.bind(ctxRef, function () {
|
|
1613
1640
|
var args = [];
|
|
1614
1641
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
1615
1642
|
args[_i] = arguments[_i];
|
|
1616
1643
|
}
|
|
1644
|
+
// Reset the state. Migrates current test objects to `prev` array.
|
|
1617
1645
|
state.reset();
|
|
1618
|
-
//
|
|
1646
|
+
// Create a top level isolate
|
|
1619
1647
|
isolate({ type: IsolateTypes.SUITE }, function () {
|
|
1648
|
+
// Run the consumer's callback
|
|
1620
1649
|
suiteCallback.apply(void 0, args);
|
|
1621
1650
|
});
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
|
|
1651
|
+
// Report the suite is done registering tests
|
|
1652
|
+
// Async tests may still be running
|
|
1653
|
+
bus.emit(Events.SUITE_COMPLETED);
|
|
1654
|
+
// Return the result
|
|
1655
|
+
return produceFullResult();
|
|
1625
1656
|
}), {
|
|
1626
|
-
get: ctx.bind(
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
if (matchingFieldName(testObject, name)) {
|
|
1632
|
-
testObject.cancel();
|
|
1633
|
-
removeTestFromState(testObject);
|
|
1634
|
-
}
|
|
1635
|
-
});
|
|
1636
|
-
}),
|
|
1637
|
-
reset: state.reset
|
|
1657
|
+
get: ctx.bind(ctxRef, produceDraft),
|
|
1658
|
+
reset: state.reset,
|
|
1659
|
+
remove: ctx.bind(ctxRef, function (fieldName) {
|
|
1660
|
+
bus.emit(Events.REMOVE_FIELD, fieldName);
|
|
1661
|
+
})
|
|
1638
1662
|
});
|
|
1639
1663
|
return suite;
|
|
1640
1664
|
}
|
|
@@ -1648,16 +1672,20 @@ var ERROR_HOOK_CALLED_OUTSIDE = 'hook called outside of a running suite.';
|
|
|
1648
1672
|
* Adds a field or multiple fields to inclusion group.
|
|
1649
1673
|
*/
|
|
1650
1674
|
function only(item) {
|
|
1651
|
-
return addTo(
|
|
1675
|
+
return addTo(0 /* ONLY */, 'tests', item);
|
|
1652
1676
|
}
|
|
1653
|
-
only.group = function (item) {
|
|
1677
|
+
only.group = function (item) {
|
|
1678
|
+
return addTo(0 /* ONLY */, 'groups', item);
|
|
1679
|
+
};
|
|
1654
1680
|
/**
|
|
1655
1681
|
* Adds a field or multiple fields to exclusion group.
|
|
1656
1682
|
*/
|
|
1657
1683
|
function skip(item) {
|
|
1658
|
-
return addTo(
|
|
1684
|
+
return addTo(1 /* SKIP */, 'tests', item);
|
|
1659
1685
|
}
|
|
1660
|
-
skip.group = function (item) {
|
|
1686
|
+
skip.group = function (item) {
|
|
1687
|
+
return addTo(1 /* SKIP */, 'groups', item);
|
|
1688
|
+
};
|
|
1661
1689
|
//Checks whether a certain test profile excluded by any of the exclusion groups.
|
|
1662
1690
|
// eslint-disable-next-line complexity, max-statements
|
|
1663
1691
|
function isExcluded(testObject) {
|
|
@@ -1729,7 +1757,8 @@ function addTo(exclusionGroup, itemType, item) {
|
|
|
1729
1757
|
if (!isStringValue(itemName)) {
|
|
1730
1758
|
return;
|
|
1731
1759
|
}
|
|
1732
|
-
context.exclusion[itemType][itemName] =
|
|
1760
|
+
context.exclusion[itemType][itemName] =
|
|
1761
|
+
exclusionGroup === 0 /* ONLY */;
|
|
1733
1762
|
});
|
|
1734
1763
|
}
|
|
1735
1764
|
/**
|
|
@@ -1996,7 +2025,7 @@ function runSyncTest(testObject) {
|
|
|
1996
2025
|
* Registers test, if async - adds to pending array
|
|
1997
2026
|
*/
|
|
1998
2027
|
function registerTest(testObject) {
|
|
1999
|
-
var
|
|
2028
|
+
var bus = useBus();
|
|
2000
2029
|
// Run test callback.
|
|
2001
2030
|
// If a promise is returned, set as async and
|
|
2002
2031
|
// Move to pending list.
|
|
@@ -2010,11 +2039,11 @@ function registerTest(testObject) {
|
|
|
2010
2039
|
runAsyncTest(testObject);
|
|
2011
2040
|
}
|
|
2012
2041
|
else {
|
|
2013
|
-
emit(Events.TEST_COMPLETED, testObject);
|
|
2042
|
+
bus.emit(Events.TEST_COMPLETED, testObject);
|
|
2014
2043
|
}
|
|
2015
2044
|
}
|
|
2016
2045
|
catch (e) {
|
|
2017
|
-
throwError("Your test function " + testObject.fieldName + " returned
|
|
2046
|
+
throwError("Your test function " + testObject.fieldName + " returned a value. Only \"false\" or Promise returns are supported.");
|
|
2018
2047
|
}
|
|
2019
2048
|
}
|
|
2020
2049
|
|
|
@@ -2180,6 +2209,6 @@ var test = assign(testBase, {
|
|
|
2180
2209
|
memo: bindTestMemo(testBase)
|
|
2181
2210
|
});
|
|
2182
2211
|
|
|
2183
|
-
var VERSION = "4.0.0-dev-
|
|
2212
|
+
var VERSION = "4.0.0-dev-31f012";
|
|
2184
2213
|
|
|
2185
2214
|
export { VERSION, create, enforce, group, only, optional, skip, skipWhen, test, warn };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function n(){return(n=Object.assign||function(n){for(var t,r=1,e=arguments.length;r<e;r++)for(var u in t=arguments[r])Object.prototype.hasOwnProperty.call(t,u)&&(n[u]=t[u]);return n}).apply(this,arguments)}function t(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)}var r=Object.assign;function e(n){return"function"==typeof n}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 i(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return e(n)?n.apply(void 0,t):n}function o(n,t){var r;return null!==(r=i(n))&&void 0!==r?r:t}function s(n,t){return n={pass:n},t&&(n.message=t),n}function a(n,t){try{return n.run(t)}catch(n){return s(!1)}}function c(n){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return!n.apply(void 0,t)}}function f(n,t){return n.length===Number(t)}var l=c(f);function p(n,t){return n.length>Number(t)}function v(n){return null===n}var d=c(v);function h(n){return void 0===n}var g=c(h);function m(n){return String(n)===n}function y(n,t){return m(n)&&m(t)&&n.endsWith(t)}var N=c(y);function b(n,t){return n===t}var E=c(b);function C(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}var O=c(C);function T(n,t){return C(n)&&C(t)&&Number(n)>Number(t)}function w(n,t){return C(n)&&C(t)&&Number(n)>=Number(t)}function S(n){return!!Array.isArray(n)}var P=c(S);function x(n,t){return!!(S(t)||m(t)&&m(n))&&-1!==t.indexOf(n)}var k=c(x);function F(n,t){return C(n)&&C(t)&&Number(n)<=Number(t)}function A(n,t,r){return w(n,t)&&F(n,r)}var I=c(A);function W(n){return m(n)&&!n.trim()}var X=c(W);function R(n){return!!n===n}var j=c(R);function U(n){return"number"==typeof n}var D=c(U);function L(n){if(n){if(U(n))return 0===n;if(Object.prototype.hasOwnProperty.call(n,"length"))return f(n,0);if("object"==typeof n)return f(Object.keys(n),0)}return!0}var G=c(L);function q(n){return Number.isNaN(n)}var B=c(q);function K(n){return!!C(n)&&0>Number(n)}var _=c(K),H=c(m);function M(n){return!!n}var J=c(M);function z(n,t){return C(n)&&C(t)&&Number(n)<Number(t)}function V(n,t){return t instanceof RegExp?t.test(n):!!m(t)&&new RegExp(t).test(n)}var Y=c(V);function Q(n,t){return C(n)&&C(t)&&Number(n)===Number(t)}var Z=c(Q);function $(n,t){return m(n)&&m(t)&&n.startsWith(t)}var nn=c($);function tn(n,t){throw Error(o(t,n))}function rn(n){function t(t,i){var o,s,a=e();return t=r({},a||{},null!==(o=null==n?void 0:n(t,a))&&void 0!==o?o:t),o=u.ctx=Object.freeze(t),u.ancestry.unshift(o),i=i(o),u.ancestry.shift(),u.ctx=null!==(s=u.ancestry[0])&&void 0!==s?s:null,i}function e(){return u.ctx}var u={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:e,useX:function(n){var t;return null!==(t=u.ctx)&&void 0!==t?t:tn(o(n,"Context was used after it was closed"))}}}var en=rn((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:un})}));function un(){return null}function on(n,t){function r(r){var e=n[r],u=t[r];if(!(r=en.run({value:e,set:!0,meta:{key:r}},(function(){return a(u,e)}))).pass)return{value:r}}for(var e in t){var u=r(e);if("object"==typeof u)return u.value}return s(!0)}var sn=r({condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:N,doesNotStartWith:nn,endsWith:y,equals:b,greaterThan:T,greaterThanOrEquals:w,gt:T,gte:w,inside:x,isArray:S,isBetween:A,isBlank:W,isBoolean:R,isEmpty:L,isEven:function(n){return!!C(n)&&0==n%2},isFalsy:J,isNaN:q,isNegative:K,isNotArray:P,isNotBetween:I,isNotBlank:X,isNotBoolean:j,isNotEmpty:G,isNotNaN:B,isNotNull:d,isNotNumber:D,isNotNumeric:O,isNotString:H,isNotUndefined:g,isNull:v,isNumber:U,isNumeric:C,isOdd:function(n){return!!C(n)&&0!=n%2},isPositive:_,isString:m,isTruthy:M,isUndefined:h,lengthEquals:f,lengthNotEquals:l,lessThan:z,lessThanOrEquals:F,longerThan:p,longerThanOrEquals:function(n,t){return n.length>=Number(t)},lt:z,lte:F,matches:V,notEquals:E,notInside:k,notMatches:Y,numberEquals:Q,numberNotEquals:Z,shorterThan:function(n,t){return n.length<Number(t)},shorterThanOrEquals:function(n,t){return n.length<=Number(t)},startsWith:$},{allOf:function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return o(u(t,(function(t,r){(t=a(t,n)).pass||r(t)})),s(!0))},anyOf:function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return o(u(t,(function(t,r){(t=a(t,n)).pass&&r(t)})),s(!1))},noneOf:function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return o(u(t,(function(t,r){a(t,n).pass&&r(s(!1))})),s(!0))},oneOf:function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];var e=[];return t.some((function(t){if(p(e,1))return!1;(t=a(t,n)).pass&&e.push(t)})),s(f(e,1))},optional:function(n,t){return h(n)||null===n?s(!0):a(t,n)}},{shape:function(n,t){var r=on(n,t);if(!r.pass)return r;for(var e in n)if(!Object.prototype.hasOwnProperty.call(t,e))return s(!1);return s(!0)},loose:on,isArrayOf:function(n,t){return o(u(n,(function(n,r,e){(e=en.run({value:n,set:!0,meta:{index:e}},(function(){return a(t,n)}))).pass||r(e)})),s(!0))}});function an(n){for(var t in sn){var r=sn[t];e(r)&&n(t,r)}}function cn(){return"function"==typeof Proxy}function fn(n,r,e){for(var u=[],o=3;o<arguments.length;o++)u[o-3]=arguments[o];return R(n)||n&&R(n.pass)||tn("Incorrect return value for rule: "+JSON.stringify(n)),R(n)?s(n):s(n.pass,i.apply(void 0,t([n.message,r,e],u)))}function ln(n){function r(r,e,u){return function(){for(var i=[],o=0;o<arguments.length;o++)i[o]=arguments[o];if(!(o=fn.apply(void 0,t([en.run({value:n},(function(){return e.apply(void 0,t([n],i))})),u,n],i))).pass){if(!L(o.message))throw o.message;tn("enforce/"+u+" failed with "+JSON.stringify(n))}return r}}var e={};if(!cn())return an((function(n,t){e[n]=r(e,t,n)})),e;var u=new Proxy(e,{get:function(n,t){if(n=sn[t])return r(u,n,t)}});return u}function pn(n){var r,e=[];return function n(a){return function(){for(var c=[],f=0;f<arguments.length;f++)c[f]=arguments[f];var l=sn[a];e.push((function(n){return fn.apply(void 0,t([l.apply(void 0,t([n],c)),a,n],c))}));var p={run:function(n){return o(u(e,(function(t,e){var u,o=en.run({value:n},(function(){return t(n)}));o.pass||e(s(!!o.pass,null!==(u=i(r,n,o.message))&&void 0!==u?u:o.message))})),s(!0))},test:function(n){return p.run(n).pass},message:function(n){return n&&(r=n),p}};return cn()?p=new Proxy(p,{get:function(t,r){return sn[r]?n(r):t[r]}}):(an((function(t){p[t]=n(t)})),p)}}(n)}function vn(n){var t,r={};for(t in n)r[t]=hn.optional(n[t]);return r}var dn,hn=(dn=n({context:function(){return en.useX()},extend:function(n){r(sn,n)}},{partial:vn}),cn()?new Proxy(r(ln,dn),{get:function(n,t){return t in n?n[t]:sn[t]?pn(t):void 0}}):(an((function(n){dn[n]=pn(n)})),dn)),gn=function(n){return function(){return""+n++}}(0);var mn,yn=mn||(mn={});function Nn(n){return(n=[].concat(n))[n.length-1]}function bn(){function n(){t=[0]}var t=[];return n(),{addLevel:function(){t.push(0)},cursorAt:function(){return Nn(t)},getCursor:function(){return[].concat(t)},next:function(){return t[t.length-1]++,Nn(t)},removeLevel:function(){t.pop()},reset:n}}yn[yn.DEFAULT=0]="DEFAULT",yn[yn.SUITE=1]="SUITE",yn[yn.EACH=2]="EACH",yn[yn.SKIP_WHEN=3]="SKIP_WHEN",yn[yn.GROUP=4]="GROUP";var En=rn((function(n,t){return t?null:r({},{isolate:{type:mn.DEFAULT},testCursor:bn(),exclusion:{tests:{},groups:{}}},n)}));function Cn(n,t){for(var r=[],e=0;e<n.length;e++){var u=n[e];S(u)?r.push(Cn(u,t)):(u=t(u),d(u)&&r.push(u))}return r}function On(n){return[].concat(n).reduce((function(n,t){return S(t)?n.concat(On(t)):[].concat(n).concat(t)}),[])}function Tn(n,t){var r=0;for(t=t.slice(0,-1);r<t.length;r++){var e=t[r];n[e]=o(n[e],[]),n=n[e]}return n}function wn(n){function t(e,u){var i=t.get(e);return i?i[1]:(u=u(),r.unshift([e.concat(),u]),p(r,n)&&(r.length=n),u)}void 0===n&&(n=1);var r=[];return t.invalidate=function(n){var t=r.findIndex((function(t){var r=t[0];return f(n,r.length)&&n.every((function(n,t){return n===r[t]}))}));-1<t&&r.splice(t,1)},t.get=function(n){return r[r.findIndex((function(t){var r=t[0];return f(n,r.length)&&n.every((function(n,t){return n===r[t]}))}))]||null},t}function Sn(){return En.useX().stateRef}function Pn(){(0,Sn().testObjects()[1])((function(n){return{prev:n.prev,current:[].concat(n.current)}}))}function xn(n){(0,Sn().testObjects()[1])((function(t){return{prev:t.prev,current:[].concat(n(t.current))}}))}function kn(){return On(Cn(Sn().testObjects()[0].current,(function(n){return n.isPending()?n:null})))}var Fn=wn();function An(){var n=Sn().testObjects()[0].current;return Fn([n],(function(){return On(n)}))}function In(){return En.useX().testCursor.getCursor()}function Wn(n,t){if(n=void 0===(n=n.type)?mn.DEFAULT:n,e(t)){var r=In();return En.run({isolate:{type:n}},(function(){En.useX().testCursor.addLevel(),xn((function(n){return Tn(n,r)[Nn(r)]=[],n}));var n=t();return En.useX().testCursor.removeLevel(),En.useX().testCursor.next(),n}))}}function Xn(n,t){return!(!t||n.fieldName!==t)}function Rn(){var n=Sn().optionalFields()[0];if(!L(n)){var t={};xn((function(r){return Cn(r,(function(r){var u=r.fieldName;if(t.hasOwnProperty(u))t[r.fieldName]&&r.omit();else{var i=n[u];e(i)&&(t[u]=i(),t[r.fieldName]&&r.omit())}return r}))}))}}function jn(n){var t=kn();return!L(t)&&(n?t.some((function(t){return Xn(t,n)})):G(t))}function Un(n,t){function r(n,t){i[n]++,u&&(i[t]=(i[t]||[]).concat(u))}var e=t.fieldName,u=t.message;n[e]=n[e]||{errorCount:0,warnCount:0,testCount:0};var i=n[e];return t.isSkipped()||(n[e].testCount++,t.isFailing()?r("errorCount","errors"):t.isWarning()&&r("warnCount","warnings")),i}function Dn(t,r,e){var u;void 0===e&&(e={});var i=(e=e||{}).group,o=e.fieldName;return r.reduce((function(n,r){return i&&r.groupName!==i||o&&!Xn(r,o)||"warnings"===t!=!!r.warns||!r.hasFailures()||(n[r.fieldName]=(n[r.fieldName]||[]).concat(r.message||[])),n}),n({},o&&((u={})[o]=[],u)))}function Ln(n){return qn("errors",n)}function Gn(n){return qn("warnings",n)}function qn(n,t){return n=Dn(n,An(),{fieldName:t}),t?n[t]:n}function Bn(n,t){return n=_n("errors",n,t),t?n[t]:n}function Kn(n,t){return n=_n("warnings",n,t),t?n[t]:n}function _n(n,t,r){return t||tn("get"+n[0].toUpperCase()+n.slice(1)+"ByGroup requires a group name. Received `"+t+"` instead."),Dn(n,An(),{group:t,fieldName:r})}function Hn(n,t,r){return!(!n.hasFailures()||r&&!Xn(n,r)||"warnings"===t!=!!n.warns)}function Mn(n){return zn("errors",n)}function Jn(n){return zn("warnings",n)}function zn(n,t){return An().some((function(r){return Hn(r,n,t)}))}function Vn(n,t){return Qn("errors",n,t)}function Yn(n,t){return Qn("warnings",n,t)}function Qn(n,t,r){return An().some((function(e){return t===e.groupName&&Hn(e,n,r)}))}var Zn=wn(20);function $n(){var n=An(),t={stateRef:Sn()};return Zn([n],En.bind(t,(function(){return r(function(){var n={errorCount:0,groups:{},testCount:0,tests:{},warnCount:0};return An().forEach((function(t){var r=t.fieldName,e=t.groupName;n.tests[r]=Un(n.tests,t),e&&(n.groups[e]=n.groups[e]||{},n.groups[e][r]=Un(n.groups[e],t))})),function(n){for(var t in n.tests)n.errorCount+=n.tests[t].errorCount,n.warnCount+=n.tests[t].warnCount,n.testCount+=n.tests[t].testCount;return n}(n)}(),{getErrors:En.bind(t,Ln),getErrorsByGroup:En.bind(t,Bn),getWarnings:En.bind(t,Gn),getWarningsByGroup:En.bind(t,Kn),hasErrors:En.bind(t,Mn),hasErrorsByGroup:En.bind(t,Vn),hasWarnings:En.bind(t,Jn),hasWarningsByGroup:En.bind(t,Yn),isValid:En.bind(t,(function(n){var t=$n(),r=An().reduce((function(n,t){return n[t.fieldName]||t.isOmitted()&&(n[t.fieldName]=!0),n}),{});return(r=!!n&&!!r[n])?n=!0:t.hasErrors(n)?n=!1:n=!(L(r=An())||n&&L(t.tests[n])||function(n){var t=Sn().optionalFields()[0];return G(kn().filter((function(r){return!(n&&!Xn(r,n))&&!0!==t[r.fieldName]})))}(n))&&function(n){var t=An(),r=Sn().optionalFields()[0];return t.every((function(t){return!(!n||Xn(t,n))||!0===r[t.fieldName]||t.isTested()||t.isOmitted()}))}(n),n}))})})))}var nt,tt=wn(20);function rt(){var n=An(),t={stateRef:Sn()};return tt([n],En.bind(t,(function(){return r({},$n(),{done:En.bind(t,it)})})))}function et(n,t,r){return!(e(n)&&(!t||r.tests[t]&&0!==r.tests[t].testCount))}function ut(n){return!(jn()&&(!n||jn(n)))}function it(){function n(){return e($n())}for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];var e=(t=t.reverse())[0];return t=t[1],r=rt(),et(e,t,r)?r:ut(t)?(n(),r):(ot(n,t),r)}function ot(n,t){var r=En.bind({},n);(0,Sn().testCallbacks()[1])((function(n){return t?n.fieldCallbacks[t]=(n.fieldCallbacks[t]||[]).concat(r):n.doneCallbacks.push(r),n}))}function st(n){return n.forEach((function(n){return n()}))}function at(){var n=En.useX();return n.bus||tn(),n.bus}function ct(n){return lt("only","tests",n)}function ft(n){return lt("skip","tests",n)}function lt(n,t,r){var e=En.useX("hook called outside of a running suite.");r&&[].concat(r).forEach((function(r){m(r)&&(e.exclusion[t][r]="only"===n)}))}function pt(n){for(var t in n)if(!0===n[t])return!0;return!1}function vt(n){tn("Wrong arguments passed to group. Group "+n+".")}(nt||(nt={})).TEST_COMPLETED="test_completed",ct.group=function(n){return lt("only","groups",n)},ft.group=function(n){return lt("skip","groups",n)};var dt=function(){function n(n,t,r){var e=void 0===r?{}:r;r=e.message,e=e.groupName,this.id=gn(),this.warns=!1,this.status=ht,this.fieldName=n,this.testFn=t,e&&(this.groupName=e),r&&(this.message=r)}return n.prototype.run=function(){try{var n=this.testFn()}catch(t){n=t,h(this.message)&&m(n)&&(this.message=t),n=!1}return!1===n&&this.fail(),n},n.prototype.setStatus=function(n){this.isFinalStatus()&&n!==Ct||(this.status=n)},n.prototype.setPending=function(){this.setStatus(bt)},n.prototype.fail=function(){this.setStatus(this.warns?yt:mt)},n.prototype.done=function(){this.isFinalStatus()||this.setStatus(Nt)},n.prototype.warn=function(){this.warns=!0},n.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},n.prototype.skip=function(){this.isPending()||this.setStatus(gt)},n.prototype.cancel=function(){this.setStatus(Et),Pn()},n.prototype.omit=function(){this.setStatus(Ct)},n.prototype.valueOf=function(){return!this.isFailing()},n.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},n.prototype.isPending=function(){return this.status===bt},n.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},n.prototype.isOmitted=function(){return this.status===Ct},n.prototype.isUntested=function(){return this.status===ht},n.prototype.isFailing=function(){return this.status===mt},n.prototype.isCanceled=function(){return this.status===Et},n.prototype.isSkipped=function(){return this.status===gt},n.prototype.isPassing=function(){return this.status===Nt},n.prototype.isWarning=function(){return this.status===yt},n}(),ht="UNTESTED",gt="SKIPPED",mt="FAILED",yt="WARNING",Nt="PASSING",bt="PENDING",Et="CANCELED",Ct="OMITTED";function Ot(n){var t=n.asyncTest,r=n.message;if(t&&e(t.then)){var u=at().emit,i=Sn(),o=En.bind({stateRef:i},(function(){Pn(),u(nt.TEST_COMPLETED,n)}));i=En.bind({stateRef:i},(function(t){n.isCanceled()||(n.message=m(t)?t:r,n.fail(),o())}));try{t.then(o,i)}catch(n){i()}}}function Tt(n){var t=Sn().testObjects(),r=t[1],e=t[0].prev;if(L(e))return wt(n),n;if(function(n,t){return G(n)&&!(n.fieldName===t.fieldName&&n.groupName===t.groupName)}(t=function(n){var t=In();return Tn(n,t)[Nn(t)]}(e),n)){!function(n,t){En.useX().isolate.type!==mn.EACH&&function(n,t){setTimeout((function(){tn(n,t)}),0)}("Vest Critical Error: Tests called in different order than previous run.\n expected: "+n.fieldName+"\n received: "+t.fieldName+"\n This happens when you conditionally call your tests using if/else.\n This might lead to incorrect validation results.\n Replacing if/else with skipWhen solves these issues.")}(t,n),t=Tn(e,In());var u=En.useX().testCursor.cursorAt();t.splice(u),r((function(n){return{prev:e,current:n.current}})),t=null}return wt(n=o(t,n)),n}function wt(n){var t=In();xn((function(r){return Tn(r,t)[Nn(t)]=n,r}))}function St(n){var t=Tt(n);if(function(n){var t=n.fieldName;n=n.groupName;var r=En.useX();if(r.skipped)return!0;var e=(r=r.exclusion).tests,u=e[t];if(!1===u)return!0;if(u=!0===u,n){n:{var i=En.useX().exclusion.groups;if(Object.prototype.hasOwnProperty.call(i,n))var o=!1===i[n];else{for(o in i)if(!0===i[o]){o=!0;break n}o=!1}}if(o)return!0;if(!0===r.groups[n])return!(u||!pt(e)&&!1!==e[t])}return!u&&pt(e)}(n))return n.skip(),En.useX().testCursor.next(),t;if(n!==t&&t.fieldName===n.fieldName&&t.groupName===n.groupName&&t.isPending()&&t.cancel(),wt(n),En.useX().testCursor.next(),n.isUntested()){t=at().emit;var r=function(n){return En.run({currentTest:n},(function(){try{var t=n.testFn()}catch(r){t=r,h(n.message)&&m(t)&&(n.message=r),t=!1}return!1===t&&n.fail(),t}))}(n);try{r&&e(r.then)?(n.asyncTest=r,n.setPending(),Ot(n)):t(nt.TEST_COMPLETED,n)}catch(t){tn("Your test function "+n.fieldName+" returned "+JSON.stringify(r)+'. Only "false" or a Promise are supported. Return values may cause unexpected behavior.')}}else(t=n.asyncTest)&&e(t.then)&&(n.setPending(),Ot(n));return n}function Pt(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];r=t.reverse(),t=r[0],r=r[1];var e=En.useX();return St(t=new dt(n,t,{message:r,groupName:null==e?void 0:e.groupName}))}var xt=r(Pt,{each:function(n){return function(r){return S(r)||tn("test.each: Expected table to be an array."),function(e){for(var u=[],o=1;o<arguments.length;o++)u[o-1]=arguments[o];var s=(u=u.reverse())[0],a=u[1];return Wn({type:mn.EACH},(function(){return r.map((function(r){return r=[].concat(r),n(i.apply(void 0,t([e],r)),i.apply(void 0,t([a],r)),(function(){return s.apply(void 0,r)}))}))}))}}}(Pt),memo:function(n){var t=wn(100);return function(r){for(var e=[],u=1;u<arguments.length;u++)e[u-1]=arguments[u];u=Sn().suiteId()[0];var i=En.useX().testCursor.cursorAt(),o=(e=e.reverse())[1],s=e[2];return e=[u,r,i].concat(e[0]),null===(u=t.get(e))?t(e,(function(){return n(r,s,o)})):u[1].isCanceled()?(t.invalidate(e),t(e,(function(){return n(r,s,o)}))):St(u[1])}}(Pt)}),kt="4.0.0-dev-7acb76";function Ft(n){e(n)||tn("Suite initialization error. Expected `tests` to be a function.");var t=function(){var n=function(){var n={};return{emit:function(t,r){n[t]&&n[t].forEach((function(n){n(r)}))},on:function(t,r){return n[t]||(n[t]=[]),n[t].push(r),{off:function(){n[t]=n[t].filter((function(n){return n!==r}))}}}}}();return n.on(nt.TEST_COMPLETED,(function(n){if(!n.isCanceled()){n.done(),n=n.fieldName;var t=Sn().testCallbacks()[0].fieldCallbacks;n&&!jn(n)&&S(t[n])&&st(t[n]),n=Sn().testCallbacks()[0].doneCallbacks,jn()||st(n)}})),n}(),u=function(n){function t(n,t,e){return u.references.push(),r(n,i(t,e)),function(){return[u.references[n],function(t){return r(n,i(t,u.references[n]))}]}}function r(t,r){var i=u.references[t];u.references[t]=r,e(t=o[t][1])&&t(r,i),e(n)&&n()}var u={references:[]},o=[];return{registerStateKey:function(n,r){var e=o.length;return o.push([n,r]),t(e,n)},reset:function(){var n=u.references;u.references=[],o.forEach((function(r,e){return t(e,r[0],n[e])}))}}}(),o=function(n,t){return t=t.suiteId,{optionalFields:n.registerStateKey((function(){return{}})),suiteId:n.registerStateKey(t),testCallbacks:n.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:n.registerStateKey((function(n){return{prev:n?n.current:[],current:[]}}))}}(u,{suiteId:gn()});return r(En.bind({stateRef:o,bus:t},(function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return u.reset(),Wn({type:mn.SUITE},(function(){n.apply(void 0,t)})),Rn(),rt()})),{get:En.bind({stateRef:o},$n),remove:En.bind({stateRef:o},(function(n){An().forEach((function(t){Xn(t,n)&&(t.cancel(),function(n){xn((function(t){return Cn(t,(function(t){return n!==t?t:null}))}))}(t))}))})),reset:u.reset})}function At(n,t){m(n)||vt("name must be a string"),e(t)||vt("callback must be a function"),Wn({type:mn.GROUP},(function(){En.run({groupName:n},t)}))}function It(n){(0,Sn().optionalFields()[1])((function(t){if(S(n)||m(n))[].concat(n).forEach((function(n){t[n]=!0}));else for(var r in n)t[r]=n[r];return t}))}function Wt(n,t){Wn({type:mn.SKIP_WHEN},(function(){En.run({skipped:i(n)},(function(){return t()}))}))}function Xt(){var n=En.useX("warn hook called outside of a running suite.");n.currentTest||tn("warn called outside of a test."),n.currentTest.warn()}export{kt as VERSION,Ft as create,hn as enforce,At as group,ct as only,It as optional,ft as skip,Wt as skipWhen,xt as test,Xt as warn};
|
|
1
|
+
function n(){return(n=Object.assign||function(n){for(var t,r=1,e=arguments.length;r<e;r++)for(var u in t=arguments[r])Object.prototype.hasOwnProperty.call(t,u)&&(n[u]=t[u]);return n}).apply(this,arguments)}function t(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)}var r=Object.assign;function e(n){return"function"==typeof n}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 i(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return e(n)?n.apply(void 0,t):n}function o(n,t){var r;return null!==(r=i(n))&&void 0!==r?r:t}function s(n,t){return n={pass:n},t&&(n.message=t),n}function a(n,t){try{return n.run(t)}catch(n){return s(!1)}}function c(n){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return!n.apply(void 0,t)}}function f(n,t){return n.length===Number(t)}var l=c(f);function p(n,t){return n.length>Number(t)}function v(n){return null===n}var d=c(v);function h(n){return void 0===n}var g=c(h);function m(n){return String(n)===n}function y(n,t){return m(n)&&m(t)&&n.endsWith(t)}var N=c(y);function E(n,t){return n===t}var b=c(E);function C(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}var O=c(C);function T(n,t){return C(n)&&C(t)&&Number(n)>Number(t)}function S(n,t){return C(n)&&C(t)&&Number(n)>=Number(t)}function w(n){return!!Array.isArray(n)}var P=c(w);function F(n,t){return!!(w(t)||m(t)&&m(n))&&-1!==t.indexOf(n)}var x=c(F);function k(n,t){return C(n)&&C(t)&&Number(n)<=Number(t)}function I(n,t,r){return S(n,t)&&k(n,r)}var A=c(I);function D(n){return m(n)&&!n.trim()}var L=c(D);function U(n){return!!n===n}var W=c(U);function X(n){return"number"==typeof n}var R=c(X);function j(n){if(n){if(X(n))return 0===n;if(Object.prototype.hasOwnProperty.call(n,"length"))return f(n,0);if("object"==typeof n)return f(Object.keys(n),0)}return!0}var _=c(j);function G(n){return Number.isNaN(n)}var M=c(G);function q(n){return!!C(n)&&0>Number(n)}var B=c(q),K=c(m);function H(n){return!!n}var V=c(H);function J(n,t){return C(n)&&C(t)&&Number(n)<Number(t)}function z(n,t){return t instanceof RegExp?t.test(n):!!m(t)&&new RegExp(t).test(n)}var Y=c(z);function Q(n,t){return C(n)&&C(t)&&Number(n)===Number(t)}var Z=c(Q);function $(n,t){return m(n)&&m(t)&&n.startsWith(t)}var nn=c($);function tn(n,t){throw Error(o(t,n))}function rn(n){function t(t,i){var o,s,a=e();return t=r({},a||{},null!==(o=null==n?void 0:n(t,a))&&void 0!==o?o:t),o=u.ctx=Object.freeze(t),u.ancestry.unshift(o),i=i(o),u.ancestry.shift(),u.ctx=null!==(s=u.ancestry[0])&&void 0!==s?s:null,i}function e(){return u.ctx}var u={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:e,useX:function(n){var t;return null!==(t=u.ctx)&&void 0!==t?t:tn(o(n,"Context was used after it was closed"))}}}var en=rn((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:un})}));function un(){return null}function on(n,t){function r(r){var e=n[r],u=t[r];if(!(r=en.run({value:e,set:!0,meta:{key:r}},(function(){return a(u,e)}))).pass)return{value:r}}for(var e in t){var u=r(e);if("object"==typeof u)return u.value}return s(!0)}var sn=r({condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:N,doesNotStartWith:nn,endsWith:y,equals:E,greaterThan:T,greaterThanOrEquals:S,gt:T,gte:S,inside:F,isArray:w,isBetween:I,isBlank:D,isBoolean:U,isEmpty:j,isEven:function(n){return!!C(n)&&0==n%2},isFalsy:V,isNaN:G,isNegative:q,isNotArray:P,isNotBetween:A,isNotBlank:L,isNotBoolean:W,isNotEmpty:_,isNotNaN:M,isNotNull:d,isNotNumber:R,isNotNumeric:O,isNotString:K,isNotUndefined:g,isNull:v,isNumber:X,isNumeric:C,isOdd:function(n){return!!C(n)&&0!=n%2},isPositive:B,isString:m,isTruthy:H,isUndefined:h,lengthEquals:f,lengthNotEquals:l,lessThan:J,lessThanOrEquals:k,longerThan:p,longerThanOrEquals:function(n,t){return n.length>=Number(t)},lt:J,lte:k,matches:z,notEquals:b,notInside:x,notMatches:Y,numberEquals:Q,numberNotEquals:Z,shorterThan:function(n,t){return n.length<Number(t)},shorterThanOrEquals:function(n,t){return n.length<=Number(t)},startsWith:$},{allOf:function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return o(u(t,(function(t,r){(t=a(t,n)).pass||r(t)})),s(!0))},anyOf:function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return o(u(t,(function(t,r){(t=a(t,n)).pass&&r(t)})),s(!1))},noneOf:function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return o(u(t,(function(t,r){a(t,n).pass&&r(s(!1))})),s(!0))},oneOf:function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];var e=[];return t.some((function(t){if(p(e,1))return!1;(t=a(t,n)).pass&&e.push(t)})),s(f(e,1))},optional:function(n,t){return h(n)||null===n?s(!0):a(t,n)}},{shape:function(n,t){var r=on(n,t);if(!r.pass)return r;for(var e in n)if(!Object.prototype.hasOwnProperty.call(t,e))return s(!1);return s(!0)},loose:on,isArrayOf:function(n,t){return o(u(n,(function(n,r,e){(e=en.run({value:n,set:!0,meta:{index:e}},(function(){return a(t,n)}))).pass||r(e)})),s(!0))}});function an(n){for(var t in sn){var r=sn[t];e(r)&&n(t,r)}}function cn(){try{return e(Proxy)}catch(n){return!1}}function fn(n,r,e){for(var u=[],o=3;o<arguments.length;o++)u[o-3]=arguments[o];return U(n)||n&&U(n.pass)||tn("Incorrect return value for rule: "+JSON.stringify(n)),U(n)?s(n):s(n.pass,i.apply(void 0,t([n.message,r,e],u)))}function ln(n){function r(r,e,u){return function(){for(var i=[],o=0;o<arguments.length;o++)i[o]=arguments[o];if(!(o=fn.apply(void 0,t([en.run({value:n},(function(){return e.apply(void 0,t([n],i))})),u,n],i))).pass){if(!j(o.message))throw o.message;tn("enforce/"+u+" failed with "+JSON.stringify(n))}return r}}var e={};if(!cn())return an((function(n,t){e[n]=r(e,t,n)})),e;var u=new Proxy(e,{get:function(n,t){if(n=sn[t])return r(u,n,t)}});return u}function pn(n){var r,e=[];return function n(a){return function(){for(var c=[],f=0;f<arguments.length;f++)c[f]=arguments[f];var l=sn[a];e.push((function(n){return fn.apply(void 0,t([l.apply(void 0,t([n],c)),a,n],c))}));var p={run:function(n){return o(u(e,(function(t,e){var u,o=en.run({value:n},(function(){return t(n)}));o.pass||e(s(!!o.pass,null!==(u=i(r,n,o.message))&&void 0!==u?u:o.message))})),s(!0))},test:function(n){return p.run(n).pass},message:function(n){return n&&(r=n),p}};return cn()?p=new Proxy(p,{get:function(t,r){return sn[r]?n(r):t[r]}}):(an((function(t){p[t]=n(t)})),p)}}(n)}function vn(n){var t,r={};for(t in n)r[t]=hn.optional(n[t]);return r}var dn,hn=(dn=n({context:function(){return en.useX()},extend:function(n){r(sn,n)}},{partial:vn}),cn()?new Proxy(r(ln,dn),{get:function(n,t){return t in n?n[t]:sn[t]?pn(t):void 0}}):(an((function(n){dn[n]=pn(n)})),dn)),gn=function(n){return function(){return""+n++}}(0);var mn,yn=mn||(mn={});function Nn(n,t){return t=t.suiteId,{optionalFields:n.registerStateKey((function(){return{}})),suiteId:n.registerStateKey(t),testCallbacks:n.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:n.registerStateKey((function(n){return{prev:n?n.current:[],current:[]}}))}}function En(n){return(n=[].concat(n))[n.length-1]}function bn(){function n(){t=[0]}var t=[];return n(),{addLevel:function(){t.push(0)},cursorAt:function(){return En(t)},getCursor:function(){return[].concat(t)},next:function(){return t[t.length-1]++,En(t)},removeLevel:function(){t.pop()},reset:n}}yn[yn.DEFAULT=0]="DEFAULT",yn[yn.SUITE=1]="SUITE",yn[yn.EACH=2]="EACH",yn[yn.SKIP_WHEN=3]="SKIP_WHEN",yn[yn.GROUP=4]="GROUP";var Cn=rn((function(n,t){return t?null:r({},{isolate:{type:mn.DEFAULT},testCursor:bn(),exclusion:{tests:{},groups:{}}},n)}));function On(n,t){for(var r=[],e=0;e<n.length;e++){var u=n[e];w(u)?r.push(On(u,t)):(u=t(u),d(u)&&r.push(u))}return r}function Tn(n){return[].concat(n).reduce((function(n,t){return w(t)?n.concat(Tn(t)):[].concat(n).concat(t)}),[])}function Sn(n,t){var r=0;for(t=t.slice(0,-1);r<t.length;r++){var e=t[r];n[e]=o(n[e],[]),n=n[e]}return n}function wn(n){function t(e,u){var i=t.get(e);return i?i[1]:(u=u(),r.unshift([e.concat(),u]),p(r,n)&&(r.length=n),u)}void 0===n&&(n=1);var r=[];return t.invalidate=function(n){var t=r.findIndex((function(t){var r=t[0];return f(n,r.length)&&n.every((function(n,t){return n===r[t]}))}));-1<t&&r.splice(t,1)},t.get=function(n){return r[r.findIndex((function(t){var r=t[0];return f(n,r.length)&&n.every((function(n,t){return n===r[t]}))}))]||null},t}function Pn(){return Cn.useX().stateRef}function Fn(){(0,Pn().testObjects()[1])((function(n){return{prev:n.prev,current:[].concat(n.current)}}))}function xn(n){(0,Pn().testObjects()[1])((function(t){return{prev:t.prev,current:[].concat(n(t.current))}}))}function kn(){return Tn(On(Pn().testObjects()[0].current,(function(n){return n.isPending()?n:null})))}var In=wn();function An(){var n=Pn().testObjects()[0].current;return In([n],(function(){return Tn(n)}))}function Dn(){return Cn.useX().testCursor.getCursor()}function Ln(n,t){if(n=void 0===(n=n.type)?mn.DEFAULT:n,e(t)){var r=Dn();return Cn.run({isolate:{type:n}},(function(){Cn.useX().testCursor.addLevel(),xn((function(n){return Sn(n,r)[En(r)]=[],n}));var n=t();return Cn.useX().testCursor.removeLevel(),Cn.useX().testCursor.next(),n}))}}function Un(n,t){return!(!t||n.fieldName!==t)}function Wn(n){var t=kn();return!j(t)&&(n?t.some((function(t){return Un(t,n)})):_(t))}function Xn(n,t){function r(n,t){i[n]++,u&&(i[t]=(i[t]||[]).concat(u))}var e=t.fieldName,u=t.message;n[e]=n[e]||{errorCount:0,warnCount:0,testCount:0};var i=n[e];return t.isSkipped()||(n[e].testCount++,t.isFailing()?r("errorCount","errors"):t.isWarning()&&r("warnCount","warnings")),i}function Rn(t,r,e){var u;void 0===e&&(e={});var i=(e=e||{}).group,o=e.fieldName;return r.reduce((function(n,r){return i&&r.groupName!==i||o&&!Un(r,o)||"warnings"===t!=!!r.warns||!r.hasFailures()||(n[r.fieldName]=(n[r.fieldName]||[]).concat(r.message||[])),n}),n({},o&&((u={})[o]=[],u)))}function jn(n){return Gn("errors",n)}function _n(n){return Gn("warnings",n)}function Gn(n,t){return n=Rn(n,An(),{fieldName:t}),t?n[t]:n}function Mn(n,t){return n=Bn("errors",n,t),t?n[t]:n}function qn(n,t){return n=Bn("warnings",n,t),t?n[t]:n}function Bn(n,t,r){return t||tn("get"+n[0].toUpperCase()+n.slice(1)+"ByGroup requires a group name. Received `"+t+"` instead."),Rn(n,An(),{group:t,fieldName:r})}function Kn(n,t,r){return!(!n.hasFailures()||r&&!Un(n,r)||"warnings"===t!=!!n.warns)}function Hn(n){return Jn("errors",n)}function Vn(n){return Jn("warnings",n)}function Jn(n,t){return An().some((function(r){return Kn(r,n,t)}))}function zn(n,t){return Qn("errors",n,t)}function Yn(n,t){return Qn("warnings",n,t)}function Qn(n,t,r){return An().some((function(e){return t===e.groupName&&Kn(e,n,r)}))}var Zn=wn(20);function $n(){var n=An(),t={stateRef:Pn()};return Zn([n],Cn.bind(t,(function(){return r(function(){var n={errorCount:0,groups:{},testCount:0,tests:{},warnCount:0};return An().forEach((function(t){var r=t.fieldName,e=t.groupName;n.tests[r]=Xn(n.tests,t),e&&(n.groups[e]=n.groups[e]||{},n.groups[e][r]=Xn(n.groups[e],t))})),function(n){for(var t in n.tests)n.errorCount+=n.tests[t].errorCount,n.warnCount+=n.tests[t].warnCount,n.testCount+=n.tests[t].testCount;return n}(n)}(),{getErrors:Cn.bind(t,jn),getErrorsByGroup:Cn.bind(t,Mn),getWarnings:Cn.bind(t,_n),getWarningsByGroup:Cn.bind(t,qn),hasErrors:Cn.bind(t,Hn),hasErrorsByGroup:Cn.bind(t,zn),hasWarnings:Cn.bind(t,Vn),hasWarningsByGroup:Cn.bind(t,Yn),isValid:Cn.bind(t,(function(n){var t=$n(),r=An().reduce((function(n,t){return n[t.fieldName]||t.isOmitted()&&(n[t.fieldName]=!0),n}),{});return(r=!!n&&!!r[n])?n=!0:t.hasErrors(n)?n=!1:n=!(j(r=An())||n&&j(t.tests[n])||function(n){var t=Pn().optionalFields()[0];return _(kn().filter((function(r){return!(n&&!Un(r,n))&&!0!==t[r.fieldName]})))}(n))&&function(n){var t=An(),r=Pn().optionalFields()[0];return t.every((function(t){return!(!n||Un(t,n))||!0===r[t.fieldName]||t.isTested()||t.isOmitted()}))}(n),n}))})})))}var nt=wn(20);function tt(){var n=An(),t={stateRef:Pn()};return nt([n],Cn.bind(t,(function(){return r({},$n(),{done:Cn.bind(t,ut)})})))}function rt(n,t,r){return!(e(n)&&(!t||r.tests[t]&&0!==r.tests[t].testCount))}function et(n){return!(Wn()&&(!n||Wn(n)))}function ut(){function n(){return e($n())}for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];var e=(t=t.reverse())[0];return t=t[1],r=tt(),rt(e,t,r)?r:et(t)?(n(),r):(it(n,t),r)}function it(n,t){var r=Cn.bind({},n);(0,Pn().testCallbacks()[1])((function(n){return t?n.fieldCallbacks[t]=(n.fieldCallbacks[t]||[]).concat(r):n.doneCallbacks.push(r),n}))}function ot(n){return n.forEach((function(n){return n()}))}function st(){var n=function(){var n={};return{emit:function(t,r){n[t]&&n[t].forEach((function(n){n(r)}))},on:function(t,r){return n[t]||(n[t]=[]),n[t].push(r),{off:function(){n[t]=n[t].filter((function(n){return n!==r}))}}}}}();return n.on(ct.TEST_COMPLETED,(function(n){if(!n.isCanceled()){n.done(),n=n.fieldName;var t=Pn().testCallbacks()[0].fieldCallbacks;n&&!Wn(n)&&w(t[n])&&ot(t[n]),n=Pn().testCallbacks()[0].doneCallbacks,Wn()||ot(n)}})),n.on(ct.SUITE_COMPLETED,(function(){!function(){var n=Pn().optionalFields()[0];if(!j(n)){var t={};xn((function(r){return On(r,(function(r){var u=r.fieldName;if(t.hasOwnProperty(u))t[r.fieldName]&&r.omit();else{var i=n[u];e(i)&&(t[u]=i(),t[r.fieldName]&&r.omit())}return r}))}))}}()})),n.on(ct.REMOVE_FIELD,(function(n){An().forEach((function(t){Un(t,n)&&(t.cancel(),function(n){xn((function(t){return On(t,(function(t){return n!==t?t:null}))}))}(t))}))})),n}function at(){var n=Cn.useX();return n.bus||tn(),n.bus}var ct,ft=ct||(ct={});function lt(n){return vt(0,"tests",n)}function pt(n){return vt(1,"tests",n)}function vt(n,t,r){var e=Cn.useX("hook called outside of a running suite.");r&&[].concat(r).forEach((function(r){m(r)&&(e.exclusion[t][r]=0===n)}))}function dt(n){for(var t in n)if(!0===n[t])return!0;return!1}function ht(n){tn("Wrong arguments passed to group. Group "+n+".")}ft.TEST_COMPLETED="test_completed",ft.REMOVE_FIELD="remove_field",ft.SUITE_COMPLETED="suite_completed",lt.group=function(n){return vt(0,"groups",n)},pt.group=function(n){return vt(1,"groups",n)};var gt=function(){function n(n,t,r){var e=void 0===r?{}:r;r=e.message,e=e.groupName,this.id=gn(),this.warns=!1,this.status=mt,this.fieldName=n,this.testFn=t,e&&(this.groupName=e),r&&(this.message=r)}return n.prototype.run=function(){try{var n=this.testFn()}catch(t){n=t,h(this.message)&&m(n)&&(this.message=t),n=!1}return!1===n&&this.fail(),n},n.prototype.setStatus=function(n){this.isFinalStatus()&&n!==Tt||(this.status=n)},n.prototype.setPending=function(){this.setStatus(Ct)},n.prototype.fail=function(){this.setStatus(this.warns?Et:Nt)},n.prototype.done=function(){this.isFinalStatus()||this.setStatus(bt)},n.prototype.warn=function(){this.warns=!0},n.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},n.prototype.skip=function(){this.isPending()||this.setStatus(yt)},n.prototype.cancel=function(){this.setStatus(Ot),Fn()},n.prototype.omit=function(){this.setStatus(Tt)},n.prototype.valueOf=function(){return!this.isFailing()},n.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},n.prototype.isPending=function(){return this.status===Ct},n.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},n.prototype.isOmitted=function(){return this.status===Tt},n.prototype.isUntested=function(){return this.status===mt},n.prototype.isFailing=function(){return this.status===Nt},n.prototype.isCanceled=function(){return this.status===Ot},n.prototype.isSkipped=function(){return this.status===yt},n.prototype.isPassing=function(){return this.status===bt},n.prototype.isWarning=function(){return this.status===Et},n}(),mt="UNTESTED",yt="SKIPPED",Nt="FAILED",Et="WARNING",bt="PASSING",Ct="PENDING",Ot="CANCELED",Tt="OMITTED";function St(n){var t=n.asyncTest,r=n.message;if(t&&e(t.then)){var u=at().emit,i=Pn(),o=Cn.bind({stateRef:i},(function(){Fn(),u(ct.TEST_COMPLETED,n)}));i=Cn.bind({stateRef:i},(function(t){n.isCanceled()||(n.message=m(t)?t:r,n.fail(),o())}));try{t.then(o,i)}catch(n){i()}}}function wt(n){var t=Pn().testObjects(),r=t[1],e=t[0].prev;if(j(e))return Pt(n),n;if(function(n,t){return _(n)&&!(n.fieldName===t.fieldName&&n.groupName===t.groupName)}(t=function(n){var t=Dn();return Sn(n,t)[En(t)]}(e),n)){!function(n,t){Cn.useX().isolate.type!==mn.EACH&&function(n,t){setTimeout((function(){tn(n,t)}),0)}("Vest Critical Error: Tests called in different order than previous run.\n expected: "+n.fieldName+"\n received: "+t.fieldName+"\n This happens when you conditionally call your tests using if/else.\n This might lead to incorrect validation results.\n Replacing if/else with skipWhen solves these issues.")}(t,n),t=Sn(e,Dn());var u=Cn.useX().testCursor.cursorAt();t.splice(u),r((function(n){return{prev:e,current:n.current}})),t=null}return Pt(n=o(t,n)),n}function Pt(n){var t=Dn();xn((function(r){return Sn(r,t)[En(t)]=n,r}))}function Ft(n){var t=wt(n);if(function(n){var t=n.fieldName;n=n.groupName;var r=Cn.useX();if(r.skipped)return!0;var e=(r=r.exclusion).tests,u=e[t];if(!1===u)return!0;if(u=!0===u,n){n:{var i=Cn.useX().exclusion.groups;if(Object.prototype.hasOwnProperty.call(i,n))var o=!1===i[n];else{for(o in i)if(!0===i[o]){o=!0;break n}o=!1}}if(o)return!0;if(!0===r.groups[n])return!(u||!dt(e)&&!1!==e[t])}return!u&&dt(e)}(n))return n.skip(),Cn.useX().testCursor.next(),t;if(n!==t&&t.fieldName===n.fieldName&&t.groupName===n.groupName&&t.isPending()&&t.cancel(),Pt(n),Cn.useX().testCursor.next(),n.isUntested()){t=at();var r=function(n){return Cn.run({currentTest:n},(function(){try{var t=n.testFn()}catch(r){t=r,h(n.message)&&m(t)&&(n.message=r),t=!1}return!1===t&&n.fail(),t}))}(n);try{r&&e(r.then)?(n.asyncTest=r,n.setPending(),St(n)):t.emit(ct.TEST_COMPLETED,n)}catch(t){tn("Your test function "+n.fieldName+' returned a value. Only "false" or Promise returns are supported.')}}else(t=n.asyncTest)&&e(t.then)&&(n.setPending(),St(n));return n}function xt(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];r=t.reverse(),t=r[0],r=r[1];var e=Cn.useX();return Ft(t=new gt(n,t,{message:r,groupName:null==e?void 0:e.groupName}))}var kt=r(xt,{each:function(n){return function(r){return w(r)||tn("test.each: Expected table to be an array."),function(e){for(var u=[],o=1;o<arguments.length;o++)u[o-1]=arguments[o];var s=(u=u.reverse())[0],a=u[1];return Ln({type:mn.EACH},(function(){return r.map((function(r){return r=[].concat(r),n(i.apply(void 0,t([e],r)),i.apply(void 0,t([a],r)),(function(){return s.apply(void 0,r)}))}))}))}}}(xt),memo:function(n){var t=wn(100);return function(r){for(var e=[],u=1;u<arguments.length;u++)e[u-1]=arguments[u];u=Pn().suiteId()[0];var i=Cn.useX().testCursor.cursorAt(),o=(e=e.reverse())[1],s=e[2];return e=[u,r,i].concat(e[0]),null===(u=t.get(e))?t(e,(function(){return n(r,s,o)})):u[1].isCanceled()?(t.invalidate(e),t(e,(function(){return n(r,s,o)}))):Ft(u[1])}}(xt)}),It="4.0.0-dev-31f012";function At(n){e(n)||tn("vest.create: Expected callback to be a function.");var t=st(),u=function(n){function t(n,t,e){return u.references.push(),r(n,i(t,e)),function(){return[u.references[n],function(t){return r(n,i(t,u.references[n]))}]}}function r(t,r){var i=u.references[t];u.references[t]=r,e(t=o[t][1])&&t(r,i),e(n)&&n()}var u={references:[]},o=[];return{registerStateKey:function(n,r){var e=o.length;return o.push([n,r]),t(e,n)},reset:function(){var n=u.references;u.references=[],o.forEach((function(r,e){return t(e,r[0],n[e])}))}}}(),o={stateRef:Nn(u,{suiteId:gn()}),bus:t};return r(Cn.bind(o,(function(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];return u.reset(),Ln({type:mn.SUITE},(function(){n.apply(void 0,r)})),t.emit(ct.SUITE_COMPLETED),tt()})),{get:Cn.bind(o,$n),reset:u.reset,remove:Cn.bind(o,(function(n){t.emit(ct.REMOVE_FIELD,n)}))})}function Dt(n,t){m(n)||ht("name must be a string"),e(t)||ht("callback must be a function"),Ln({type:mn.GROUP},(function(){Cn.run({groupName:n},t)}))}function Lt(n){(0,Pn().optionalFields()[1])((function(t){if(w(n)||m(n))[].concat(n).forEach((function(n){t[n]=!0}));else for(var r in n)t[r]=n[r];return t}))}function Ut(n,t){Ln({type:mn.SKIP_WHEN},(function(){Cn.run({skipped:i(n)},(function(){return t()}))}))}function Wt(){var n=Cn.useX("warn hook called outside of a running suite.");n.currentTest||tn("warn called outside of a test."),n.currentTest.warn()}export{It as VERSION,At as create,hn as enforce,Dt as group,lt as only,Lt as optional,pt as skip,Ut as skipWhen,kt as test,Wt as warn};
|
|
@@ -60,10 +60,10 @@
|
|
|
60
60
|
/**
|
|
61
61
|
* Creates a function that returns class names that match the validation result
|
|
62
62
|
*/
|
|
63
|
-
function
|
|
63
|
+
function classnames(res, classes) {
|
|
64
64
|
if (classes === void 0) { classes = {}; }
|
|
65
65
|
if (!res || !isFunction(res.hasErrors)) {
|
|
66
|
-
throwError("
|
|
66
|
+
throwError("classnames: Expected first argument to be Vest's result object.");
|
|
67
67
|
}
|
|
68
68
|
var selectors = parse(res);
|
|
69
69
|
return function (key) {
|
|
@@ -78,6 +78,6 @@
|
|
|
78
78
|
};
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
-
return
|
|
81
|
+
return classnames;
|
|
82
82
|
|
|
83
83
|
})));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).classnames=e()}(this,(function(){function t(t){return"function"==typeof t}function e(e,n){var r;return null!==(r=function(e){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];return t(e)?e.apply(void 0,n):e}(e))&&void 0!==r?r:n}function n(t){var e=Number(t);return!(isNaN(parseFloat(String(t)))||isNaN(Number(t))||!isFinite(e))}function r(t,e){return n(t)&&n(e)&&Number(t)>Number(e)}return function(n,o){if(void 0===o&&(o={}),!n||!t(n.hasErrors))throw Error(e(void 0,"
|
|
1
|
+
"use strict";!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).classnames=e()}(this,(function(){function t(t){return"function"==typeof t}function e(e,n){var r;return null!==(r=function(e){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];return t(e)?e.apply(void 0,n):e}(e))&&void 0!==r?r:n}function n(t){var e=Number(t);return!(isNaN(parseFloat(String(t)))||isNaN(Number(t))||!isFinite(e))}function r(t,e){return n(t)&&n(e)&&Number(t)>Number(e)}return function(n,o){if(void 0===o&&(o={}),!n||!t(n.hasErrors))throw Error(e(void 0,"classnames: Expected first argument to be Vest's result object."));var i=function(t){var e={},n={invalid:t.hasErrors,tested:function(o){return o?Object.prototype.hasOwnProperty.call(e,o)?e[o]:(e[o]=Object.prototype.hasOwnProperty.call(t.tests,o)&&r(t.tests[o].testCount,0),n.tested(o)):r(t.testCount,0)},untested:function(e){return 0===t.testCount||!n.tested(e)},valid:t.isValid,warning:t.hasWarnings};return n}(n);return function(e){var n,r=[];for(n in o){var s=n;t(i[s])&&i[s](e)&&r.push(o[s])}return r.join(" ")}}}));
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
args[_i] = arguments[_i];
|
|
23
23
|
}
|
|
24
24
|
if (!isFunction(validatorFn)) {
|
|
25
|
-
throwError('
|
|
25
|
+
throwError('promisify: Expected validatorFn to be a function.');
|
|
26
26
|
}
|
|
27
27
|
return new Promise(function (resolve) { return validatorFn.apply(void 0, args).done(resolve); });
|
|
28
28
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";!function(n,
|
|
1
|
+
"use strict";!function(n,o){"object"==typeof exports&&"undefined"!=typeof module?module.exports=o():"function"==typeof define&&define.amd?define(o):(n="undefined"!=typeof globalThis?globalThis:n||self).promisify=o()}(this,(function(){function n(n,o){var e;return null!==(e=function(n){for(var o=[],e=1;e<arguments.length;e++)o[e-1]=arguments[e];return"function"==typeof n?n.apply(void 0,o):n}(n))&&void 0!==e?e:o}return function(o){return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];if("function"!=typeof o)throw Error(n(void 0,"promisify: Expected validatorFn to be a function."));return new Promise((function(n){return o.apply(void 0,e).done(n)}))}}}));
|