vest 4.6.0 → 4.6.2-dev-b07a89
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/enforce/compose.development.js +20 -54
- package/dist/cjs/enforce/compose.production.js +1 -1
- package/dist/cjs/enforce/compounds.development.js +1 -89
- package/dist/cjs/enforce/compounds.production.js +1 -1
- package/dist/cjs/enforce/schema.development.js +1 -89
- package/dist/cjs/enforce/schema.production.js +1 -1
- package/dist/cjs/vest.development.js +5 -75
- package/dist/cjs/vest.production.js +1 -1
- package/dist/es/enforce/compose.development.js +2 -56
- package/dist/es/enforce/compose.production.js +1 -1
- package/dist/es/enforce/compounds.development.js +1 -90
- package/dist/es/enforce/compounds.production.js +1 -1
- package/dist/es/enforce/schema.development.js +1 -88
- package/dist/es/enforce/schema.production.js +1 -1
- package/dist/es/vest.development.js +6 -76
- package/dist/es/vest.production.js +1 -1
- package/dist/umd/enforce/compose.development.js +7 -58
- package/dist/umd/enforce/compose.production.js +1 -1
- package/dist/umd/enforce/compounds.development.js +4 -91
- package/dist/umd/enforce/compounds.production.js +1 -1
- package/dist/umd/enforce/schema.development.js +4 -91
- package/dist/umd/enforce/schema.production.js +1 -1
- package/dist/umd/vest.development.js +8 -79
- package/dist/umd/vest.production.js +1 -1
- package/package.json +4 -3
- package/tsconfig.json +85 -1
- package/types/classnames.d.ts +1 -0
- package/types/classnames.d.ts.map +1 -0
- package/types/enforce/compose.d.ts +2 -125
- package/types/enforce/compose.d.ts.map +1 -0
- package/types/enforce/compounds.d.ts +1 -135
- package/types/enforce/compounds.d.ts.map +1 -0
- package/types/enforce/schema.d.ts +2 -144
- package/types/enforce/schema.d.ts.map +1 -0
- package/types/parser.d.ts +1 -0
- package/types/parser.d.ts.map +1 -0
- package/types/promisify.d.ts +1 -0
- package/types/promisify.d.ts.map +1 -0
- package/types/vest.d.ts +6 -16
- package/types/vest.d.ts.map +1 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('n4s'), require('vest-utils'), require('context')) :
|
|
3
|
-
typeof define === 'function' && define.amd ? define(['exports', 'n4s', 'vest-utils', 'context'], factory) :
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.vest = {}, global.n4s, global['vest-utils'], global.context));
|
|
5
|
-
}(this, (function (exports, n4s, vestUtils, context$1) { 'use strict';
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('n4s'), require('vest-utils'), require('context'), require('vast')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define(['exports', 'n4s', 'vest-utils', 'context', 'vast'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.vest = {}, global.n4s, global['vest-utils'], global.context, global.vast));
|
|
5
|
+
}(this, (function (exports, n4s, vestUtils, context$1, vast) { 'use strict';
|
|
6
6
|
|
|
7
7
|
function shouldUseErrorAsMessage(message, error) {
|
|
8
8
|
// kind of cheating with this safe guard, but it does the job
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
};
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
-
var context = context$1.
|
|
63
|
+
var context = context$1.createCascade(function (ctxRef, parentContext) {
|
|
64
64
|
return parentContext
|
|
65
65
|
? null
|
|
66
66
|
: vestUtils.assign({
|
|
@@ -287,70 +287,6 @@
|
|
|
287
287
|
var STATUS_CANCELED = 'CANCELED';
|
|
288
288
|
var STATUS_OMITTED = 'OMITTED';
|
|
289
289
|
|
|
290
|
-
// eslint-disable-next-line max-lines-per-function
|
|
291
|
-
function createState(onStateChange) {
|
|
292
|
-
var state = {
|
|
293
|
-
references: []
|
|
294
|
-
};
|
|
295
|
-
var registrations = [];
|
|
296
|
-
return {
|
|
297
|
-
registerStateKey: registerStateKey,
|
|
298
|
-
reset: reset
|
|
299
|
-
};
|
|
300
|
-
/**
|
|
301
|
-
* Registers a new key in the state, takes the initial value (may be a function that returns the initial value), returns a function.
|
|
302
|
-
*
|
|
303
|
-
* @example
|
|
304
|
-
*
|
|
305
|
-
* const useColor = state.registerStateKey("blue");
|
|
306
|
-
*
|
|
307
|
-
* let [color, setColor] = useColor(); // -> ["blue", Function]
|
|
308
|
-
*
|
|
309
|
-
* setColor("green");
|
|
310
|
-
*
|
|
311
|
-
* useColor()[0]; -> "green"
|
|
312
|
-
*/
|
|
313
|
-
function registerStateKey(initialState, onUpdate) {
|
|
314
|
-
var key = registrations.length;
|
|
315
|
-
registrations.push([initialState, onUpdate]);
|
|
316
|
-
return initKey(key, initialState);
|
|
317
|
-
}
|
|
318
|
-
function reset() {
|
|
319
|
-
var prev = current();
|
|
320
|
-
state.references = [];
|
|
321
|
-
registrations.forEach(function (_a, index) {
|
|
322
|
-
var initialValue = _a[0];
|
|
323
|
-
return initKey(index, initialValue, prev[index]);
|
|
324
|
-
});
|
|
325
|
-
}
|
|
326
|
-
function initKey(key, initialState, prevState) {
|
|
327
|
-
current().push();
|
|
328
|
-
set(key, vestUtils.optionalFunctionValue(initialState, prevState));
|
|
329
|
-
return function useStateKey() {
|
|
330
|
-
return [
|
|
331
|
-
current()[key],
|
|
332
|
-
function (nextState) {
|
|
333
|
-
return set(key, vestUtils.optionalFunctionValue(nextState, current()[key]));
|
|
334
|
-
},
|
|
335
|
-
];
|
|
336
|
-
};
|
|
337
|
-
}
|
|
338
|
-
function current() {
|
|
339
|
-
return state.references;
|
|
340
|
-
}
|
|
341
|
-
function set(index, value) {
|
|
342
|
-
var prevValue = state.references[index];
|
|
343
|
-
state.references[index] = value;
|
|
344
|
-
var _a = registrations[index], onUpdate = _a[1];
|
|
345
|
-
if (vestUtils.isFunction(onUpdate)) {
|
|
346
|
-
onUpdate(value, prevValue);
|
|
347
|
-
}
|
|
348
|
-
if (vestUtils.isFunction(onStateChange)) {
|
|
349
|
-
onStateChange();
|
|
350
|
-
}
|
|
351
|
-
}
|
|
352
|
-
}
|
|
353
|
-
|
|
354
290
|
function createStateRef(state, _a) {
|
|
355
291
|
var suiteId = _a.suiteId, suiteName = _a.suiteName;
|
|
356
292
|
return {
|
|
@@ -1113,7 +1049,7 @@
|
|
|
1113
1049
|
// Event bus initialization
|
|
1114
1050
|
var bus = initBus();
|
|
1115
1051
|
// State initialization
|
|
1116
|
-
var state = createState();
|
|
1052
|
+
var state = vast.createState();
|
|
1117
1053
|
// State reference - this holds the actual state values
|
|
1118
1054
|
var stateRef = createStateRef(state, { suiteId: vestUtils.seq(), suiteName: suiteName });
|
|
1119
1055
|
// Create base context reference. All hooks will derive their data from this
|
|
@@ -1505,14 +1441,7 @@
|
|
|
1505
1441
|
testObject.fail();
|
|
1506
1442
|
done();
|
|
1507
1443
|
});
|
|
1508
|
-
|
|
1509
|
-
asyncTest.then(done, fail);
|
|
1510
|
-
}
|
|
1511
|
-
catch (e) {
|
|
1512
|
-
// We will probably never get here, unless the consumer uses a buggy custom Promise
|
|
1513
|
-
// implementation that behaves differently than the native one, or if they for some
|
|
1514
|
-
fail();
|
|
1515
|
-
}
|
|
1444
|
+
asyncTest.then(done, fail);
|
|
1516
1445
|
}
|
|
1517
1446
|
|
|
1518
1447
|
/**
|
|
@@ -1731,7 +1660,7 @@
|
|
|
1731
1660
|
ctx.currentTest.warn();
|
|
1732
1661
|
}
|
|
1733
1662
|
|
|
1734
|
-
var VERSION = "4.6.
|
|
1663
|
+
var VERSION = "4.6.2-dev-b07a89";
|
|
1735
1664
|
|
|
1736
1665
|
Object.defineProperty(exports, 'enforce', {
|
|
1737
1666
|
enumerable: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("n4s"),require("vest-utils"),require("context")):"function"==typeof define&&define.amd?define(["exports","n4s","vest-utils","context"],n):n((t="undefined"!=typeof globalThis?globalThis:t||self).vest={},t.n4s,t["vest-utils"],t.context)}(this,(function(t,n,e,r){function i(){var t=0;return{current:function(){return t},next:function(){t++}}}function u(t,n){return void 0===n&&(n=[]),{cursor:i(),keys:{current:{},prev:{}},path:n,type:t}}function s(){return rt.useX().stateRef}function o(t,n){(0,s().optionalFields()[1])((function(r){var i;return e.assign(r,((i={})[t]=e.assign({},r[t],n(r[t])),i))}))}function a(t){var n;return null!==(n=s().optionalFields()[0][t])&&void 0!==n?n:{}}function c(){f((function(t){return t}))}function f(t){(0,s().testObjects()[1])((function(n){return{prev:n.prev,current:e.asArray(t(n.current))}}))}function l(){return d().filter((function(t){return t.isPending()}))}function d(){var t=s().testObjects()[0].current;return it([t],(function(){return e.nestedArray.flatten(t)}))}function p(t){function n(t,n,u){return i.references.push(),r(t,e.optionalFunctionValue(n,u)),function(){return[i.references[t],function(n){return r(t,e.optionalFunctionValue(n,i.references[t]))}]}}function r(n,r){var s=i.references[n];i.references[n]=r,n=u[n][1],e.isFunction(n)&&n(r,s),e.isFunction(t)&&t()}var i={references:[]},u=[];return{registerStateKey:function(t,e){var r=u.length;return u.push([t,e]),n(r,t)},reset:function(){var t=i.references;i.references=[],u.forEach((function(e,r){return n(r,e[0],t[r])}))}}}function v(t,n){var e=n.suiteId;return n=n.suiteName,{optionalFields:t.registerStateKey((function(){return{}})),suiteId:t.registerStateKey(e),suiteName:t.registerStateKey(n),testCallbacks:t.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:t.registerStateKey((function(t){return{prev:t?t.current:[],current:[]}}))}}function E(){return rt.useX().isolate}function h(){var t=E();return t.path.concat(t.cursor.current())}function g(t,n){t=void 0===(t=t.type)?$.DEFAULT:t,e.invariant(e.isFunction(n));var r=u(t,h());return t=rt.run({isolate:r},(function(){return r.keys.prev=function(){var t=s().testObjects()[0].prev;return e.asArray(e.nestedArray.getCurrent(t,h())).reduce((function(t,n){return n instanceof ot&&!e.isNullish(n.key)?(t[n.key]=n,t):t}),{})}(),f((function(t){return e.nestedArray.setValueAtPath(t,r.path,[])})),n()})),E().cursor.next(),t}function N(t,n){return!(!n||t.fieldName!==n)}function m(t,n){return d().some((function(e){return y(e,t,n)}))}function y(t,n,r){return!(!t.hasFailures()||r&&!N(t,r)||e.either(n===ut.WARNINGS,t.warns()))}function R(t){return!!t&&a(t).applied}function S(t){if(R(t))return!0;var n=d();return!(e.isEmpty(n)||m(ut.ERRORS,t)||function(t){return e.isNotEmpty(l().filter((function(n){return T(n,t)})))}(t))&&function(t){return d().every((function(n){return C(n,t)}))}(t)}function T(t,n){return!(n&&!N(t,n))&&R(n)}function C(t,n){return!(!n||N(t,n))||(a(t.fieldName).type===ht.Delayed&&t.awaitsResolution()||t.isTested()||t.isOmitted())}function O(){var t=d(),n=e.assign({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{},valid:!1});return t.reduce((function(t,n){var r=t.tests;r[n.fieldName]=A(r,n),r[n.fieldName].valid=!1!==r[n.fieldName].valid&&S(n.fieldName);var i=t.groups,u=n.groupName;return u&&(i[u]=i[u]||{},i[u][n.fieldName]=A(i[u],n),r=i[u][n.fieldName],!1===i[u][n.fieldName].valid?n=!1:n=!!R(n=n.fieldName)||!function(t,n,e){return d().some((function(r){return!gt(r,n)&&y(r,t,e)}))}(ut.ERRORS,u,n)&&!function(t,n){return e.isNotEmpty(l().filter((function(e){return!gt(e,t)&&T(e,n)})))}(u,n)&&function(t,n){return d().every((function(e){return!!gt(e,t)||C(e,n)}))}(u,n),r.valid=n),t}),n),n.valid=S(),function(t){for(var n in t.tests)t.errorCount+=t.tests[n].errorCount,t.warnCount+=t.tests[n].warnCount,t.testCount+=t.tests[n].testCount;return t}(n)}function A(t,n){function r(t){s[t===ut.ERRORS?st.ERROR_COUNT:st.WARN_COUNT]++,u&&(s[t]=(s[t]||[]).concat(u))}var i=n.fieldName,u=n.message;t[i]=t[i]||e.assign({errorCount:0,warnCount:0,testCount:0},{errors:[],warnings:[]});var s=t[i];return n.isNonActionable()||(t[i].testCount++,n.isFailing()?r(ut.ERRORS):n.isWarning()&&r(ut.WARNINGS)),s}function _(t,n,r){if(r){var i;t=(null===(i=null==t?void 0:t[r])||void 0===i?void 0:i[n])||[]}else{for(var u in i={},r=n===ut.ERRORS?st.ERROR_COUNT:st.WARN_COUNT,t)e.isPositive(t[u][r])&&(i[u]=t[u][n]||[]);t=i}return t}function b(t){return{getErrors:function(n){return _(t.tests,ut.ERRORS,n)},getErrorsByGroup:function(n,e){return _(t.groups[n],ut.ERRORS,e)},getWarnings:function(n){return _(t.tests,ut.WARNINGS,n)},getWarningsByGroup:function(n,e){return _(t.groups[n],ut.WARNINGS,e)},hasErrors:function(n){return k(t,st.ERROR_COUNT,n)},hasErrorsByGroup:function(n,e){return I(t,st.ERROR_COUNT,n,e)},hasWarnings:function(n){return k(t,st.WARN_COUNT,n)},hasWarningsByGroup:function(n,e){return I(t,st.WARN_COUNT,n,e)},isValid:function(n){var e;return n?!(null===(e=t.tests[n])||void 0===e||!e.valid):t.valid},isValidByGroup:function(n,e){if(!(n=t.groups[n]))return!1;if(e)return F(n,e);for(var r in n)if(!F(n,r))return!1;return!0}}}function F(t,n){var e;return!(null===(e=t[n])||void 0===e||!e.valid)}function I(t,n,r,i){var u,s;if(!(t=t.groups[r]))return!1;if(i)return e.isPositive(null===(u=t[i])||void 0===u?void 0:u[n]);for(var o in t)if(e.isPositive(null===(s=t[o])||void 0===s?void 0:s[n]))return!0;return!1}function k(t,n,r){var i;return t=r?null===(i=t.tests[r])||void 0===i?void 0:i[n]:t[n]||0,e.isPositive(t)}function P(){var t=d(),n={stateRef:s()};return mt([t],rt.bind(n,(function(){var t=O(),n=s().suiteName()[0];return e.assign(t,b(t),{suiteName:n})})))}function U(t){var n=l();return!e.isEmpty(n)&&(!t||n.some((function(n){return N(n,t)})))}function L(){var t=d(),n={stateRef:s()};return yt([t],rt.bind(n,(function(){return e.assign({},P(),{done:rt.bind(n,Rt)})})))}function W(t,n,r){var i;return!!(!e.isFunction(t)||n&&e.numberEquals(null===(i=r.tests[n])||void 0===i?void 0:i.testCount,0))}function D(t){return!(U()&&(!t||U(t)))}function V(t,n){(0,s().testCallbacks()[1])((function(e){return n?e.fieldCallbacks[n]=(e.fieldCallbacks[n]||[]).concat(t):e.doneCallbacks.push(t),e}))}function w(){var t=e.bus.createBus();return t.on(Nt.TEST_COMPLETED,(function(n){if(!n.isCanceled()){n.done(),n=n.fieldName;var r=s().testCallbacks()[0].fieldCallbacks;n&&!U(n)&&e.isArray(r[n])&&e.callEach(r[n]),U()||t.emit(Nt.ALL_RUNNING_TESTS_FINISHED)}})),t.on(Nt.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){function t(t){r[t.fieldName]&&(t.omit(),o(t.fieldName,(function(){return{applied:!0}})))}var n=s().optionalFields()[0];if(!e.isEmpty(n)){var r={};d().forEach((function(n){if(e.hasOwnProperty(r,n.fieldName))t(n);else{var i=a(n.fieldName);i.type===ht.Immediate&&(r[n.fieldName]=e.optionalFunctionValue(i.rule),t(n))}})),c()}}()})),t.on(Nt.ALL_RUNNING_TESTS_FINISHED,(function(){var t=s().testCallbacks()[0].doneCallbacks;e.callEach(t)})),t.on(Nt.REMOVE_FIELD,(function(t){d().forEach((function(n){N(n,t)&&(n.cancel(),function(t){f((function(n){return e.nestedArray.transform(n,(function(n){return t!==n?n:null}))}))}(n))}))})),t.on(Nt.RESET_FIELD,(function(t){d().forEach((function(n){N(n,t)&&n.reset()}))})),t}function G(){var t=rt.useX();return e.invariant(t.bus),t.bus}function x(t){return q(0,"tests",t)}function X(t){return q(1,"tests",t)}function q(t,n,r){var i=rt.useX("hook called outside of a running suite.");r&&e.asArray(r).forEach((function(r){e.isStringValue(r)&&(i.exclusion[n][r]=0===t)}))}function H(t){for(var n in t)if(!0===t[n])return!0;return!1}function K(){var t,n=rt.useX().exclusion;for(t in n.groups)if(n.groups[t])return!0;return!1}function M(t){return"Wrong arguments passed to group. Group ".concat(t,".")}function j(t,n,e){if(e||2===arguments.length)for(var r,i=0,u=n.length;i<u;i++)!r&&i in n||(r||(r=Array.prototype.slice.call(n,0,i)),r[i]=n[i]);return t.concat(r||Array.prototype.slice.call(n))}function B(t){var n=t.asyncTest,r=t.message;if(e.isPromise(n)){var i=G().emit,u=s(),o=rt.bind({stateRef:u},(function(){c(),i(Nt.TEST_COMPLETED,t)}));u=rt.bind({stateRef:u},(function(n){t.isCanceled()||(t.message=e.isStringValue(n)?n:r,t.fail(),o())}));try{n.then(o,u)}catch(t){u()}}}function Y(t){var n=s().testObjects()[0].prev;if(e.isEmpty(n))return J(t),t;var r=h();if(n=e.nestedArray.valueAtPath(n,r),!e.isNullish(t.key)){n=t.key,(r=E().keys.prev[n])&&(t=r),r=t;var i=E().keys.current;return e.isNullish(i[n])?i[n]=r:e.deferThrow('Encountered the same test key "'.concat(n,"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted.")),J(t),t}return r=n,!e.isNotEmpty(r)||r.fieldName===t.fieldName&&r.groupName===t.groupName||(E().type===$.EACH||e.deferThrow("Vest Critical Error: Tests called in different order than previous run.\n expected: ".concat(n.fieldName,"\n received: ").concat(t.fieldName,'\n This can happen on one of two reasons:\n 1. You\'re using if/else statements to conditionally select tests. Instead, use "skipWhen".\n 2. You are iterating over a list of tests, and their order changed. Use "each" and a custom key prop so that Vest retains their state.')),function(){var t=E().cursor.current();f((function(n){return n.splice(t),n}))}(),n=null),J(t=e.defaultTo(n,t)),t}function J(t){var n=h();f((function(r){return e.nestedArray.setValueAtPath(r,n,t)}))}function z(t){var n=E().cursor,r=nt.EAGER;if(rt.useX().mode[0]===r&&m(ut.ERRORS,t.fieldName))return t.skip(),Y(t),n.next(),t;if(r=Y(t),rt.useX().omitted||R(t.fieldName))return r.omit(),n.next(),r;if(function(t){var n=t.fieldName;if(t=t.groupName,rt.useX().skipped)return!0;var r=rt.useX(),i=r.exclusion;r=r.inclusion;var u=i.tests,s=u[n];if(!1===s)return!0;if(s=!0===s,t){var o=rt.useX().exclusion.groups;if(o=e.hasOwnProperty(o,t)?!1===o[t]:K())return!0;if(!0===i.groups[t])return!(s||!H(u)&&!1!==u[n])}return!!(t=!!K()&&!t)||!s&&!!H(u)&&!e.optionalFunctionValue(r[n])}(t))return r.skip(!!rt.useX().skipped),n.next(),r;if(t!==r&&r.fieldName===t.fieldName&&r.groupName===t.groupName&&r.isPending()&&r.cancel(),J(t),t.isUntested()){r=G();var i=function(t){return rt.run({currentTest:t},(function(){return t.run()}))}(t);try{e.isPromise(i)?(t.asyncTest=i,t.setPending(),B(t)):r.emit(Nt.TEST_COMPLETED,t)}catch(n){throw Error("Unexpected error encountered during test registration.\n Test Object: ".concat(JSON.stringify(t),".\n Error: ").concat(n,"."))}}else e.isPromise(t.asyncTest)&&(t.setPending(),B(t));return n.next(),t}function Q(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];var i=e.isFunction(n[1])?n:j([void 0],n,!0);n=i[0],r=i[1],i=i[2],e.invariant(e.isStringValue(t),Z("fieldName","string")),e.invariant(e.isFunction(r),Z("Test callback","function"));var u=rt.useX();return z(n=new ot(t,r,{message:n,groupName:u.groupName,key:i}))}function Z(t,n){return"Incompatible params passed to test function. ".concat(t," must be a ").concat(n)}var $,tt,nt;(tt=$||($={}))[tt.DEFAULT=0]="DEFAULT",tt[tt.SUITE=1]="SUITE",tt[tt.EACH=2]="EACH",tt[tt.SKIP_WHEN=3]="SKIP_WHEN",tt[tt.OMIT_WHEN=4]="OMIT_WHEN",tt[tt.GROUP=5]="GROUP",function(t){t[t.ALL=0]="ALL",t[t.EAGER=1]="EAGER"}(nt||(nt={}));var et,rt=r.createContext((function(t,n){return n?null:e.assign({exclusion:{tests:{},groups:{}},inclusion:{},isolate:u($.DEFAULT),mode:[nt.ALL]},t)})),it=e.cache();!function(t){t.Error="error",t.Warning="warning"}(et||(et={}));var ut,st,ot=function(){function t(t,n,r){var i=void 0===r?{}:r;r=i.message;var u=i.groupName;i=i.key,this.key=null,this.id=e.seq(),this.severity=et.Error,this.status=at,this.fieldName=t,this.testFn=n,u&&(this.groupName=u),r&&(this.message=r),i&&(this.key=i)}return t.prototype.run=function(){try{var t=this.testFn()}catch(n){t=n,e.isUndefined(this.message)&&e.isStringValue(t)&&(this.message=n),t=!1}return!1===t&&this.fail(),t},t.prototype.setStatus=function(t){this.isFinalStatus()&&t!==Et||(this.status=t)},t.prototype.warns=function(){return this.severity===et.Warning},t.prototype.setPending=function(){this.setStatus(pt)},t.prototype.fail=function(){this.setStatus(this.warns()?lt:ft)},t.prototype.done=function(){this.isFinalStatus()||this.setStatus(dt)},t.prototype.warn=function(){this.severity=et.Warning},t.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},t.prototype.skip=function(t){this.isPending()&&!t||this.setStatus(ct)},t.prototype.cancel=function(){this.setStatus(vt),c()},t.prototype.reset=function(){this.status=at,c()},t.prototype.omit=function(){this.setStatus(Et)},t.prototype.valueOf=function(){return!this.isFailing()},t.prototype.isPending=function(){return this.statusEquals(pt)},t.prototype.isOmitted=function(){return this.statusEquals(Et)},t.prototype.isUntested=function(){return this.statusEquals(at)},t.prototype.isFailing=function(){return this.statusEquals(ft)},t.prototype.isCanceled=function(){return this.statusEquals(vt)},t.prototype.isSkipped=function(){return this.statusEquals(ct)},t.prototype.isPassing=function(){return this.statusEquals(dt)},t.prototype.isWarning=function(){return this.statusEquals(lt)},t.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},t.prototype.isNonActionable=function(){return this.isSkipped()||this.isOmitted()||this.isCanceled()},t.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},t.prototype.awaitsResolution=function(){return this.isSkipped()||this.isUntested()||this.isPending()},t.prototype.statusEquals=function(t){return this.status===t},t}(),at="UNTESTED",ct="SKIPPED",ft="FAILED",lt="WARNING",dt="PASSING",pt="PENDING",vt="CANCELED",Et="OMITTED";!function(t){t.WARNINGS="warnings",t.ERRORS="errors"}(ut||(ut={})),function(t){t.ERROR_COUNT="errorCount",t.WARN_COUNT="warnCount"}(st||(st={}));var ht,gt=e.bindNot((function(t,n){return t.groupName===n}));!function(t){t[t.Immediate=0]="Immediate",t[t.Delayed=1]="Delayed"}(ht||(ht={}));var Nt,mt=e.cache(1),yt=e.cache(20),Rt=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var e=(t=t.reverse())[0];if(t=t[1],n=L(),W(e,t,n))return n;var r=function(){return e(P())};return D(t)?(r(),n):(V(r,t),n)};!function(t){t.TEST_COMPLETED="test_completed",t.ALL_RUNNING_TESTS_FINISHED="all_running_tests_finished",t.REMOVE_FIELD="remove_field",t.RESET_FIELD="reset_field",t.SUITE_CALLBACK_DONE_RUNNING="suite_callback_done_running"}(Nt||(Nt={})),x.group=function(t){return q(0,"groups",t)},X.group=function(t){return q(1,"groups",t)},r=e.assign(Q,{memo:function(t){var n=e.cache(10);return function(r){for(var i=[],u=1;u<arguments.length;u++)i[u-1]=arguments[u];u=E().cursor.current();var o=(i=i.reverse())[0],a=i[1],c=i[2];return u=[s().suiteId()[0],r,u].concat(o),i=n.get(u),e.isNull(i)?n(u,(function(){return t(r,c,a)})):i[1].isCanceled()?(n.invalidate(u),n(u,(function(){return t(r,c,a)}))):z(i[1])}}(Q)}),Object.defineProperty(t,"enforce",{enumerable:!0,get:function(){return n.enforce}}),t.VERSION="4.6.0",t.context=rt,t.create=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var r=(t=t.reverse())[0];t=t[1],e.invariant(e.isFunction(r),"vest.create: Expected callback to be a function.");var i=w(),u=p();return t={stateRef:v(u,{suiteId:e.seq(),suiteName:t}),bus:i},e.assign(rt.bind(t,(function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return u.reset(),g({type:$.SUITE},(function(){r.apply(void 0,t)})),i.emit(Nt.SUITE_CALLBACK_DONE_RUNNING),L()})),{get:rt.bind(t,P),remove:rt.bind(t,(function(t){i.emit(Nt.REMOVE_FIELD,t)})),reset:u.reset,resetField:rt.bind(t,(function(t){i.emit(Nt.RESET_FIELD,t)}))})},t.each=function(t,n){e.invariant(e.isFunction(n),"each callback must be a function"),g({type:$.EACH},(function(){t.forEach((function(t,e){n(t,e)}))}))},t.eager=function(){var t=nt.EAGER;rt.useX().mode[0]=t},t.group=function(t,n){e.invariant(e.isStringValue(t),M("name must be a string")),e.invariant(e.isFunction(n),M("callback must be a function")),g({type:$.GROUP},(function(){rt.run({groupName:t},n)}))},t.include=function(t){var n=rt.useX(),r=n.inclusion;return n=n.exclusion,e.invariant(e.isStringValue(t)),r[t]=e.defaultTo(n.tests[t],!0),{when:function(n){var r=rt.useX(),i=r.exclusion;r.inclusion[t]=function(){return e.hasOwnProperty(i.tests,t)?e.defaultTo(i.tests[t],!0):e.isStringValue(n)?!!i.tests[n]:e.optionalFunctionValue(n,e.optionalFunctionValue(P))}}}},t.omitWhen=function(t,n){g({type:$.OMIT_WHEN},(function(){rt.run({omitted:!!rt.useX().omitted||e.optionalFunctionValue(t,e.optionalFunctionValue(P))},(function(){return n()}))}))},t.only=x,t.optional=function(t){if(e.isArray(t)||e.isStringValue(t))e.asArray(t).forEach((function(t){o(t,(function(){return{type:ht.Delayed,applied:!1,rule:null}}))}));else{var n,r=function(n){var r=t[n];o(n,(function(){return{type:ht.Immediate,rule:r,applied:e.optionalFunctionValue(r)}}))};for(n in t)r(n)}},t.skip=X,t.skipWhen=function(t,n){g({type:$.SKIP_WHEN},(function(){rt.run({skipped:!!rt.useX().skipped||e.optionalFunctionValue(t,e.optionalFunctionValue(P))},(function(){return n()}))}))},t.suiteSelectors=b,t.test=r,t.warn=function(){var t=rt.useX("warn hook called outside of a running suite.");e.invariant(t.currentTest,"warn called outside of a test."),t.currentTest.warn()},Object.defineProperty(t,"__esModule",{value:!0})}));
|
|
1
|
+
"use strict";!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("n4s"),require("vest-utils"),require("context"),require("vast")):"function"==typeof define&&define.amd?define(["exports","n4s","vest-utils","context","vast"],n):n((t="undefined"!=typeof globalThis?globalThis:t||self).vest={},t.n4s,t["vest-utils"],t.context,t.vast)}(this,(function(t,n,e,r,i){function u(){var t=0;return{current:function(){return t},next:function(){t++}}}function s(t,n){return void 0===n&&(n=[]),{cursor:u(),keys:{current:{},prev:{}},path:n,type:t}}function o(){return rt.useX().stateRef}function a(t,n){(0,o().optionalFields()[1])((function(r){var i;return e.assign(r,((i={})[t]=e.assign({},r[t],n(r[t])),i))}))}function c(t){var n;return null!==(n=o().optionalFields()[0][t])&&void 0!==n?n:{}}function f(){l((function(t){return t}))}function l(t){(0,o().testObjects()[1])((function(n){return{prev:n.prev,current:e.asArray(t(n.current))}}))}function d(){return p().filter((function(t){return t.isPending()}))}function p(){var t=o().testObjects()[0].current;return it([t],(function(){return e.nestedArray.flatten(t)}))}function v(t,n){var e=n.suiteId;return n=n.suiteName,{optionalFields:t.registerStateKey((function(){return{}})),suiteId:t.registerStateKey(e),suiteName:t.registerStateKey(n),testCallbacks:t.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:t.registerStateKey((function(t){return{prev:t?t.current:[],current:[]}}))}}function E(){return rt.useX().isolate}function g(){var t=E();return t.path.concat(t.cursor.current())}function h(t,n){t=void 0===(t=t.type)?$.DEFAULT:t,e.invariant(e.isFunction(n));var r=s(t,g());return t=rt.run({isolate:r},(function(){return r.keys.prev=function(){var t=o().testObjects()[0].prev;return e.asArray(e.nestedArray.getCurrent(t,g())).reduce((function(t,n){return n instanceof ot&&!e.isNullish(n.key)?(t[n.key]=n,t):t}),{})}(),l((function(t){return e.nestedArray.setValueAtPath(t,r.path,[])})),n()})),E().cursor.next(),t}function N(t,n){return!(!n||t.fieldName!==n)}function m(t,n){return p().some((function(e){return y(e,t,n)}))}function y(t,n,r){return!(!t.hasFailures()||r&&!N(t,r)||e.either(n===ut.WARNINGS,t.warns()))}function R(t){return!!t&&c(t).applied}function S(t){if(R(t))return!0;var n=p();return!(e.isEmpty(n)||m(ut.ERRORS,t)||function(t){return e.isNotEmpty(d().filter((function(n){return T(n,t)})))}(t))&&function(t){return p().every((function(n){return C(n,t)}))}(t)}function T(t,n){return!(n&&!N(t,n))&&R(n)}function C(t,n){return!(!n||N(t,n))||(c(t.fieldName).type===gt.Delayed&&t.awaitsResolution()||t.isTested()||t.isOmitted())}function O(){var t=p(),n=e.assign({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{},valid:!1});return t.reduce((function(t,n){var r=t.tests;r[n.fieldName]=A(r,n),r[n.fieldName].valid=!1!==r[n.fieldName].valid&&S(n.fieldName);var i=t.groups,u=n.groupName;return u&&(i[u]=i[u]||{},i[u][n.fieldName]=A(i[u],n),r=i[u][n.fieldName],!1===i[u][n.fieldName].valid?n=!1:n=!!R(n=n.fieldName)||!function(t,n,e){return p().some((function(r){return!ht(r,n)&&y(r,t,e)}))}(ut.ERRORS,u,n)&&!function(t,n){return e.isNotEmpty(d().filter((function(e){return!ht(e,t)&&T(e,n)})))}(u,n)&&function(t,n){return p().every((function(e){return!!ht(e,t)||C(e,n)}))}(u,n),r.valid=n),t}),n),n.valid=S(),function(t){for(var n in t.tests)t.errorCount+=t.tests[n].errorCount,t.warnCount+=t.tests[n].warnCount,t.testCount+=t.tests[n].testCount;return t}(n)}function A(t,n){function r(t){s[t===ut.ERRORS?st.ERROR_COUNT:st.WARN_COUNT]++,u&&(s[t]=(s[t]||[]).concat(u))}var i=n.fieldName,u=n.message;t[i]=t[i]||e.assign({errorCount:0,warnCount:0,testCount:0},{errors:[],warnings:[]});var s=t[i];return n.isNonActionable()||(t[i].testCount++,n.isFailing()?r(ut.ERRORS):n.isWarning()&&r(ut.WARNINGS)),s}function _(t,n,r){if(r){var i;t=(null===(i=null==t?void 0:t[r])||void 0===i?void 0:i[n])||[]}else{for(var u in i={},r=n===ut.ERRORS?st.ERROR_COUNT:st.WARN_COUNT,t)e.isPositive(t[u][r])&&(i[u]=t[u][n]||[]);t=i}return t}function b(t){return{getErrors:function(n){return _(t.tests,ut.ERRORS,n)},getErrorsByGroup:function(n,e){return _(t.groups[n],ut.ERRORS,e)},getWarnings:function(n){return _(t.tests,ut.WARNINGS,n)},getWarningsByGroup:function(n,e){return _(t.groups[n],ut.WARNINGS,e)},hasErrors:function(n){return k(t,st.ERROR_COUNT,n)},hasErrorsByGroup:function(n,e){return F(t,st.ERROR_COUNT,n,e)},hasWarnings:function(n){return k(t,st.WARN_COUNT,n)},hasWarningsByGroup:function(n,e){return F(t,st.WARN_COUNT,n,e)},isValid:function(n){var e;return n?!(null===(e=t.tests[n])||void 0===e||!e.valid):t.valid},isValidByGroup:function(n,e){if(!(n=t.groups[n]))return!1;if(e)return I(n,e);for(var r in n)if(!I(n,r))return!1;return!0}}}function I(t,n){var e;return!(null===(e=t[n])||void 0===e||!e.valid)}function F(t,n,r,i){var u,s;if(!(t=t.groups[r]))return!1;if(i)return e.isPositive(null===(u=t[i])||void 0===u?void 0:u[n]);for(var o in t)if(e.isPositive(null===(s=t[o])||void 0===s?void 0:s[n]))return!0;return!1}function k(t,n,r){var i;return t=r?null===(i=t.tests[r])||void 0===i?void 0:i[n]:t[n]||0,e.isPositive(t)}function P(){var t=p(),n={stateRef:o()};return mt([t],rt.bind(n,(function(){var t=O(),n=o().suiteName()[0];return e.assign(t,b(t),{suiteName:n})})))}function U(t){var n=d();return!e.isEmpty(n)&&(!t||n.some((function(n){return N(n,t)})))}function L(){var t=p(),n={stateRef:o()};return yt([t],rt.bind(n,(function(){return e.assign({},P(),{done:rt.bind(n,Rt)})})))}function W(t,n,r){var i;return!!(!e.isFunction(t)||n&&e.numberEquals(null===(i=r.tests[n])||void 0===i?void 0:i.testCount,0))}function D(t){return!(U()&&(!t||U(t)))}function w(t,n){(0,o().testCallbacks()[1])((function(e){return n?e.fieldCallbacks[n]=(e.fieldCallbacks[n]||[]).concat(t):e.doneCallbacks.push(t),e}))}function G(){var t=e.bus.createBus();return t.on(Nt.TEST_COMPLETED,(function(n){if(!n.isCanceled()){n.done(),n=n.fieldName;var r=o().testCallbacks()[0].fieldCallbacks;n&&!U(n)&&e.isArray(r[n])&&e.callEach(r[n]),U()||t.emit(Nt.ALL_RUNNING_TESTS_FINISHED)}})),t.on(Nt.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){function t(t){r[t.fieldName]&&(t.omit(),a(t.fieldName,(function(){return{applied:!0}})))}var n=o().optionalFields()[0];if(!e.isEmpty(n)){var r={};p().forEach((function(n){if(e.hasOwnProperty(r,n.fieldName))t(n);else{var i=c(n.fieldName);i.type===gt.Immediate&&(r[n.fieldName]=e.optionalFunctionValue(i.rule),t(n))}})),f()}}()})),t.on(Nt.ALL_RUNNING_TESTS_FINISHED,(function(){var t=o().testCallbacks()[0].doneCallbacks;e.callEach(t)})),t.on(Nt.REMOVE_FIELD,(function(t){p().forEach((function(n){N(n,t)&&(n.cancel(),function(t){l((function(n){return e.nestedArray.transform(n,(function(n){return t!==n?n:null}))}))}(n))}))})),t.on(Nt.RESET_FIELD,(function(t){p().forEach((function(n){N(n,t)&&n.reset()}))})),t}function V(){var t=rt.useX();return e.invariant(t.bus),t.bus}function x(t){return q(0,"tests",t)}function X(t){return q(1,"tests",t)}function q(t,n,r){var i=rt.useX("hook called outside of a running suite.");r&&e.asArray(r).forEach((function(r){e.isStringValue(r)&&(i.exclusion[n][r]=0===t)}))}function H(t){for(var n in t)if(!0===t[n])return!0;return!1}function K(){var t,n=rt.useX().exclusion;for(t in n.groups)if(n.groups[t])return!0;return!1}function M(t){return"Wrong arguments passed to group. Group ".concat(t,".")}function j(t,n,e){if(e||2===arguments.length)for(var r,i=0,u=n.length;i<u;i++)!r&&i in n||(r||(r=Array.prototype.slice.call(n,0,i)),r[i]=n[i]);return t.concat(r||Array.prototype.slice.call(n))}function B(t){var n=t.asyncTest,r=t.message;if(e.isPromise(n)){var i=V().emit,u=o(),s=rt.bind({stateRef:u},(function(){f(),i(Nt.TEST_COMPLETED,t)}));u=rt.bind({stateRef:u},(function(n){t.isCanceled()||(t.message=e.isStringValue(n)?n:r,t.fail(),s())})),n.then(s,u)}}function Y(t){var n=o().testObjects()[0].prev;if(e.isEmpty(n))return J(t),t;var r=g();if(n=e.nestedArray.valueAtPath(n,r),!e.isNullish(t.key)){n=t.key,(r=E().keys.prev[n])&&(t=r),r=t;var i=E().keys.current;return e.isNullish(i[n])?i[n]=r:e.deferThrow('Encountered the same test key "'.concat(n,"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted.")),J(t),t}return r=n,!e.isNotEmpty(r)||r.fieldName===t.fieldName&&r.groupName===t.groupName||(E().type===$.EACH||e.deferThrow("Vest Critical Error: Tests called in different order than previous run.\n expected: ".concat(n.fieldName,"\n received: ").concat(t.fieldName,'\n This can happen on one of two reasons:\n 1. You\'re using if/else statements to conditionally select tests. Instead, use "skipWhen".\n 2. You are iterating over a list of tests, and their order changed. Use "each" and a custom key prop so that Vest retains their state.')),function(){var t=E().cursor.current();l((function(n){return n.splice(t),n}))}(),n=null),J(t=e.defaultTo(n,t)),t}function J(t){var n=g();l((function(r){return e.nestedArray.setValueAtPath(r,n,t)}))}function z(t){var n=E().cursor,r=nt.EAGER;if(rt.useX().mode[0]===r&&m(ut.ERRORS,t.fieldName))return t.skip(),Y(t),n.next(),t;if(r=Y(t),rt.useX().omitted||R(t.fieldName))return r.omit(),n.next(),r;if(function(t){var n=t.fieldName;if(t=t.groupName,rt.useX().skipped)return!0;var r=rt.useX(),i=r.exclusion;r=r.inclusion;var u=i.tests,s=u[n];if(!1===s)return!0;if(s=!0===s,t){var o=rt.useX().exclusion.groups;if(o=e.hasOwnProperty(o,t)?!1===o[t]:K())return!0;if(!0===i.groups[t])return!(s||!H(u)&&!1!==u[n])}return!!(t=!!K()&&!t)||!s&&!!H(u)&&!e.optionalFunctionValue(r[n])}(t))return r.skip(!!rt.useX().skipped),n.next(),r;if(t!==r&&r.fieldName===t.fieldName&&r.groupName===t.groupName&&r.isPending()&&r.cancel(),J(t),t.isUntested()){r=V();var i=function(t){return rt.run({currentTest:t},(function(){return t.run()}))}(t);try{e.isPromise(i)?(t.asyncTest=i,t.setPending(),B(t)):r.emit(Nt.TEST_COMPLETED,t)}catch(n){throw Error("Unexpected error encountered during test registration.\n Test Object: ".concat(JSON.stringify(t),".\n Error: ").concat(n,"."))}}else e.isPromise(t.asyncTest)&&(t.setPending(),B(t));return n.next(),t}function Q(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];var i=e.isFunction(n[1])?n:j([void 0],n,!0);n=i[0],r=i[1],i=i[2],e.invariant(e.isStringValue(t),Z("fieldName","string")),e.invariant(e.isFunction(r),Z("Test callback","function"));var u=rt.useX();return z(n=new ot(t,r,{message:n,groupName:u.groupName,key:i}))}function Z(t,n){return"Incompatible params passed to test function. ".concat(t," must be a ").concat(n)}var $,tt,nt;(tt=$||($={}))[tt.DEFAULT=0]="DEFAULT",tt[tt.SUITE=1]="SUITE",tt[tt.EACH=2]="EACH",tt[tt.SKIP_WHEN=3]="SKIP_WHEN",tt[tt.OMIT_WHEN=4]="OMIT_WHEN",tt[tt.GROUP=5]="GROUP",function(t){t[t.ALL=0]="ALL",t[t.EAGER=1]="EAGER"}(nt||(nt={}));var et,rt=r.createCascade((function(t,n){return n?null:e.assign({exclusion:{tests:{},groups:{}},inclusion:{},isolate:s($.DEFAULT),mode:[nt.ALL]},t)})),it=e.cache();!function(t){t.Error="error",t.Warning="warning"}(et||(et={}));var ut,st,ot=function(){function t(t,n,r){var i=void 0===r?{}:r;r=i.message;var u=i.groupName;i=i.key,this.key=null,this.id=e.seq(),this.severity=et.Error,this.status=at,this.fieldName=t,this.testFn=n,u&&(this.groupName=u),r&&(this.message=r),i&&(this.key=i)}return t.prototype.run=function(){try{var t=this.testFn()}catch(n){t=n,e.isUndefined(this.message)&&e.isStringValue(t)&&(this.message=n),t=!1}return!1===t&&this.fail(),t},t.prototype.setStatus=function(t){this.isFinalStatus()&&t!==Et||(this.status=t)},t.prototype.warns=function(){return this.severity===et.Warning},t.prototype.setPending=function(){this.setStatus(pt)},t.prototype.fail=function(){this.setStatus(this.warns()?lt:ft)},t.prototype.done=function(){this.isFinalStatus()||this.setStatus(dt)},t.prototype.warn=function(){this.severity=et.Warning},t.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},t.prototype.skip=function(t){this.isPending()&&!t||this.setStatus(ct)},t.prototype.cancel=function(){this.setStatus(vt),f()},t.prototype.reset=function(){this.status=at,f()},t.prototype.omit=function(){this.setStatus(Et)},t.prototype.valueOf=function(){return!this.isFailing()},t.prototype.isPending=function(){return this.statusEquals(pt)},t.prototype.isOmitted=function(){return this.statusEquals(Et)},t.prototype.isUntested=function(){return this.statusEquals(at)},t.prototype.isFailing=function(){return this.statusEquals(ft)},t.prototype.isCanceled=function(){return this.statusEquals(vt)},t.prototype.isSkipped=function(){return this.statusEquals(ct)},t.prototype.isPassing=function(){return this.statusEquals(dt)},t.prototype.isWarning=function(){return this.statusEquals(lt)},t.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},t.prototype.isNonActionable=function(){return this.isSkipped()||this.isOmitted()||this.isCanceled()},t.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},t.prototype.awaitsResolution=function(){return this.isSkipped()||this.isUntested()||this.isPending()},t.prototype.statusEquals=function(t){return this.status===t},t}(),at="UNTESTED",ct="SKIPPED",ft="FAILED",lt="WARNING",dt="PASSING",pt="PENDING",vt="CANCELED",Et="OMITTED";!function(t){t.WARNINGS="warnings",t.ERRORS="errors"}(ut||(ut={})),function(t){t.ERROR_COUNT="errorCount",t.WARN_COUNT="warnCount"}(st||(st={}));var gt,ht=e.bindNot((function(t,n){return t.groupName===n}));!function(t){t[t.Immediate=0]="Immediate",t[t.Delayed=1]="Delayed"}(gt||(gt={}));var Nt,mt=e.cache(1),yt=e.cache(20),Rt=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var e=(t=t.reverse())[0];if(t=t[1],n=L(),W(e,t,n))return n;var r=function(){return e(P())};return D(t)?(r(),n):(w(r,t),n)};!function(t){t.TEST_COMPLETED="test_completed",t.ALL_RUNNING_TESTS_FINISHED="all_running_tests_finished",t.REMOVE_FIELD="remove_field",t.RESET_FIELD="reset_field",t.SUITE_CALLBACK_DONE_RUNNING="suite_callback_done_running"}(Nt||(Nt={})),x.group=function(t){return q(0,"groups",t)},X.group=function(t){return q(1,"groups",t)},r=e.assign(Q,{memo:function(t){var n=e.cache(10);return function(r){for(var i=[],u=1;u<arguments.length;u++)i[u-1]=arguments[u];u=E().cursor.current();var s=(i=i.reverse())[0],a=i[1],c=i[2];return u=[o().suiteId()[0],r,u].concat(s),i=n.get(u),e.isNull(i)?n(u,(function(){return t(r,c,a)})):i[1].isCanceled()?(n.invalidate(u),n(u,(function(){return t(r,c,a)}))):z(i[1])}}(Q)}),Object.defineProperty(t,"enforce",{enumerable:!0,get:function(){return n.enforce}}),t.VERSION="4.6.2-dev-b07a89",t.context=rt,t.create=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var r=(t=t.reverse())[0];t=t[1],e.invariant(e.isFunction(r),"vest.create: Expected callback to be a function.");var u=G(),s=i.createState();return t={stateRef:v(s,{suiteId:e.seq(),suiteName:t}),bus:u},e.assign(rt.bind(t,(function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return s.reset(),h({type:$.SUITE},(function(){r.apply(void 0,t)})),u.emit(Nt.SUITE_CALLBACK_DONE_RUNNING),L()})),{get:rt.bind(t,P),remove:rt.bind(t,(function(t){u.emit(Nt.REMOVE_FIELD,t)})),reset:s.reset,resetField:rt.bind(t,(function(t){u.emit(Nt.RESET_FIELD,t)}))})},t.each=function(t,n){e.invariant(e.isFunction(n),"each callback must be a function"),h({type:$.EACH},(function(){t.forEach((function(t,e){n(t,e)}))}))},t.eager=function(){var t=nt.EAGER;rt.useX().mode[0]=t},t.group=function(t,n){e.invariant(e.isStringValue(t),M("name must be a string")),e.invariant(e.isFunction(n),M("callback must be a function")),h({type:$.GROUP},(function(){rt.run({groupName:t},n)}))},t.include=function(t){var n=rt.useX(),r=n.inclusion;return n=n.exclusion,e.invariant(e.isStringValue(t)),r[t]=e.defaultTo(n.tests[t],!0),{when:function(n){var r=rt.useX(),i=r.exclusion;r.inclusion[t]=function(){return e.hasOwnProperty(i.tests,t)?e.defaultTo(i.tests[t],!0):e.isStringValue(n)?!!i.tests[n]:e.optionalFunctionValue(n,e.optionalFunctionValue(P))}}}},t.omitWhen=function(t,n){h({type:$.OMIT_WHEN},(function(){rt.run({omitted:!!rt.useX().omitted||e.optionalFunctionValue(t,e.optionalFunctionValue(P))},(function(){return n()}))}))},t.only=x,t.optional=function(t){if(e.isArray(t)||e.isStringValue(t))e.asArray(t).forEach((function(t){a(t,(function(){return{type:gt.Delayed,applied:!1,rule:null}}))}));else{var n,r=function(n){var r=t[n];a(n,(function(){return{type:gt.Immediate,rule:r,applied:e.optionalFunctionValue(r)}}))};for(n in t)r(n)}},t.skip=X,t.skipWhen=function(t,n){h({type:$.SKIP_WHEN},(function(){rt.run({skipped:!!rt.useX().skipped||e.optionalFunctionValue(t,e.optionalFunctionValue(P))},(function(){return n()}))}))},t.suiteSelectors=b,t.test=r,t.warn=function(){var t=rt.useX("warn hook called outside of a running suite.");e.invariant(t.currentTest,"warn called outside of a test."),t.currentTest.warn()},Object.defineProperty(t,"__esModule",{value:!0})}));
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "4.6.
|
|
2
|
+
"version": "4.6.2-dev-b07a89",
|
|
3
3
|
"license": "MIT",
|
|
4
4
|
"name": "vest",
|
|
5
5
|
"author": "ealush",
|
|
@@ -20,8 +20,9 @@
|
|
|
20
20
|
"url": "https://github.com/ealush/vest.git/issues"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"context": "^
|
|
24
|
-
"n4s": "^4.2.
|
|
23
|
+
"context": "^3.0.1",
|
|
24
|
+
"n4s": "^4.2.2-dev-b07a89",
|
|
25
|
+
"vast": "^1.0.12",
|
|
25
26
|
"vest-utils": "^0.0.2"
|
|
26
27
|
},
|
|
27
28
|
"homepage": "https://vestjs.dev/",
|
package/tsconfig.json
CHANGED
|
@@ -1,8 +1,92 @@
|
|
|
1
1
|
{
|
|
2
2
|
"extends": "../../tsconfig.json",
|
|
3
|
+
"rootDir": ".",
|
|
3
4
|
"compilerOptions": {
|
|
5
|
+
"baseUrl": ".",
|
|
4
6
|
"declarationMap": true,
|
|
5
7
|
"declarationDir": "./types",
|
|
6
|
-
"outDir": "./dist"
|
|
8
|
+
"outDir": "./dist",
|
|
9
|
+
"paths": {
|
|
10
|
+
"ctx": ["src/core/ctx/ctx.ts"],
|
|
11
|
+
"generateIsolate": ["src/core/isolate/generateIsolate.ts"],
|
|
12
|
+
"isolate": ["src/core/isolate/isolate.ts"],
|
|
13
|
+
"isolateCursor": ["src/core/isolate/isolateCursor.ts"],
|
|
14
|
+
"isolateHooks": ["src/core/isolate/isolateHooks.ts"],
|
|
15
|
+
"each": ["src/core/isolate/isolates/each.ts"],
|
|
16
|
+
"group": ["src/core/isolate/isolates/group.ts"],
|
|
17
|
+
"omitWhen": ["src/core/isolate/isolates/omitWhen.ts"],
|
|
18
|
+
"skipWhen": ["src/core/isolate/isolates/skipWhen.ts"],
|
|
19
|
+
"IsolateTypes": ["src/core/isolate/IsolateTypes.ts"],
|
|
20
|
+
"createStateRef": ["src/core/state/createStateRef.ts"],
|
|
21
|
+
"stateHooks": ["src/core/state/stateHooks.ts"],
|
|
22
|
+
"create": ["src/core/suite/create.ts"],
|
|
23
|
+
"hasRemainingTests": ["src/core/suite/hasRemainingTests.ts"],
|
|
24
|
+
"produceSuiteResult": ["src/core/suite/produce/produceSuiteResult.ts"],
|
|
25
|
+
"produceSuiteRunResult": [
|
|
26
|
+
"src/core/suite/produce/produceSuiteRunResult.ts"
|
|
27
|
+
],
|
|
28
|
+
"runCallbacks": ["src/core/suite/produce/runCallbacks.ts"],
|
|
29
|
+
"Severity": ["src/core/suite/produce/Severity.ts"],
|
|
30
|
+
"genTestsSummary": [
|
|
31
|
+
"src/core/suite/produce/summaryGenerators/genTestsSummary.ts"
|
|
32
|
+
],
|
|
33
|
+
"hasFailuresByTestObjects": [
|
|
34
|
+
"src/core/suite/produce/summaryGenerators/hasFailuresByTestObjects.ts"
|
|
35
|
+
],
|
|
36
|
+
"matchingFieldName": [
|
|
37
|
+
"src/core/suite/produce/summaryGenerators/helpers/matchingFieldName.ts"
|
|
38
|
+
],
|
|
39
|
+
"matchingGroupName": [
|
|
40
|
+
"src/core/suite/produce/summaryGenerators/helpers/matchingGroupName.ts"
|
|
41
|
+
],
|
|
42
|
+
"nonMatchingSeverityProfile": [
|
|
43
|
+
"src/core/suite/produce/summaryGenerators/helpers/nonMatchingSeverityProfile.ts"
|
|
44
|
+
],
|
|
45
|
+
"shouldAddValidProperty": [
|
|
46
|
+
"src/core/suite/produce/summaryGenerators/shouldAddValidProperty.ts"
|
|
47
|
+
],
|
|
48
|
+
"SuiteSummaryTypes": [
|
|
49
|
+
"src/core/suite/produce/summaryGenerators/SuiteSummaryTypes.ts"
|
|
50
|
+
],
|
|
51
|
+
"collectFailures": [
|
|
52
|
+
"src/core/suite/produce/summarySelectors/collectFailures.ts"
|
|
53
|
+
],
|
|
54
|
+
"suiteSelectors": [
|
|
55
|
+
"src/core/suite/produce/summarySelectors/suiteSelectors.ts"
|
|
56
|
+
],
|
|
57
|
+
"key": ["src/core/test/key.ts"],
|
|
58
|
+
"cancelOverriddenPendingTest": [
|
|
59
|
+
"src/core/test/lib/cancelOverriddenPendingTest.ts"
|
|
60
|
+
],
|
|
61
|
+
"isSameProfileTest": ["src/core/test/lib/isSameProfileTest.ts"],
|
|
62
|
+
"registerPrevRunTest": ["src/core/test/lib/registerPrevRunTest.ts"],
|
|
63
|
+
"registerTest": ["src/core/test/lib/registerTest.ts"],
|
|
64
|
+
"removeTestFromState": ["src/core/test/lib/removeTestFromState.ts"],
|
|
65
|
+
"shouldUseErrorAsMessage": [
|
|
66
|
+
"src/core/test/lib/shouldUseErrorAsMessage.ts"
|
|
67
|
+
],
|
|
68
|
+
"useTestAtCursor": ["src/core/test/lib/useTestAtCursor.ts"],
|
|
69
|
+
"omitOptionalFields": ["src/core/test/omitOptionalFields.ts"],
|
|
70
|
+
"runAsyncTest": ["src/core/test/runAsyncTest.ts"],
|
|
71
|
+
"runSyncTest": ["src/core/test/runSyncTest.ts"],
|
|
72
|
+
"test.memo": ["src/core/test/test.memo.ts"],
|
|
73
|
+
"test": ["src/core/test/test.ts"],
|
|
74
|
+
"VestTest": ["src/core/test/VestTest.ts"],
|
|
75
|
+
"vestBus": ["src/core/vestBus.ts"],
|
|
76
|
+
"classnames": ["src/exports/classnames.ts"],
|
|
77
|
+
"enforce@compose": ["src/exports/enforce@compose.ts"],
|
|
78
|
+
"enforce@compounds": ["src/exports/enforce@compounds.ts"],
|
|
79
|
+
"enforce@schema": ["src/exports/enforce@schema.ts"],
|
|
80
|
+
"parser": ["src/exports/parser.ts"],
|
|
81
|
+
"promisify": ["src/exports/promisify.ts"],
|
|
82
|
+
"exclusive": ["src/hooks/exclusive.ts"],
|
|
83
|
+
"hookErrors": ["src/hooks/hookErrors.ts"],
|
|
84
|
+
"include": ["src/hooks/include.ts"],
|
|
85
|
+
"mode": ["src/hooks/mode/mode.ts"],
|
|
86
|
+
"Modes": ["src/hooks/mode/Modes.ts"],
|
|
87
|
+
"optionalFields": ["src/hooks/optionalFields.ts"],
|
|
88
|
+
"warn": ["src/hooks/warn.ts"],
|
|
89
|
+
"vest": ["src/vest.ts"]
|
|
90
|
+
}
|
|
7
91
|
}
|
|
8
92
|
}
|
package/types/classnames.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classnames.d.ts","sourceRoot":"","sources":["../src/exports/classnames.ts","../src/core/suite/produce/summaryGenerators/SuiteSummaryTypes.ts","../src/exports/parser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAKA;;GAEG;AACH,iBAAwB,UAAU,CAChC,GAAG,EAAE,YAAY,EACjB,OAAO,GAAE,gBAAqB,GAC7B,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAe/B;AAED,KAAK,gBAAgB,GAAG;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC"}
|
|
@@ -1,126 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
unknown,
|
|
3
|
-
...infer U
|
|
4
|
-
] ? U : never;
|
|
5
|
-
type Stringable = string | ((...args: any[]) => string);
|
|
6
|
-
type CB = (...args: any[]) => any;
|
|
7
|
-
type RuleReturn = boolean | {
|
|
8
|
-
pass: boolean;
|
|
9
|
-
message?: Stringable;
|
|
10
|
-
};
|
|
11
|
-
type RuleDetailedResult = {
|
|
12
|
-
pass: boolean;
|
|
13
|
-
message?: string;
|
|
14
|
-
};
|
|
15
|
-
type Args = any[];
|
|
16
|
-
type BaseRules = typeof baseRules;
|
|
17
|
-
type KBaseRules = keyof BaseRules;
|
|
18
|
-
declare function condition(value: any, callback: (value: any) => RuleReturn): RuleReturn;
|
|
19
|
-
declare function endsWith(value: string, arg1: string): boolean;
|
|
20
|
-
declare function equals(value: unknown, arg1: unknown): boolean;
|
|
21
|
-
declare function greaterThanOrEquals(value: string | number, gte: string | number): boolean;
|
|
22
|
-
declare function inside(value: unknown, arg1: string | unknown[]): boolean;
|
|
23
|
-
declare function isBetween(value: number | string, min: number | string, max: number | string): boolean;
|
|
24
|
-
declare function isBlank(value: unknown): boolean;
|
|
25
|
-
declare function isKeyOf(key: string | symbol | number, obj: any): boolean;
|
|
26
|
-
declare function isNaN(value: unknown): boolean;
|
|
27
|
-
declare function isNegative(value: number | string): boolean;
|
|
28
|
-
declare function isNumber(value: unknown): value is number;
|
|
29
|
-
declare function isTruthy(value: unknown): boolean;
|
|
30
|
-
declare function isValueOf(value: any, objectToCheck: any): boolean;
|
|
31
|
-
declare function lessThan(value: string | number, lt: string | number): boolean;
|
|
32
|
-
declare function lessThanOrEquals(value: string | number, lte: string | number): boolean;
|
|
33
|
-
declare function longerThanOrEquals(value: string | unknown[], arg1: string | number): boolean;
|
|
34
|
-
declare function matches(value: string, regex: RegExp | string): boolean;
|
|
35
|
-
declare function shorterThan(value: string | unknown[], arg1: string | number): boolean;
|
|
36
|
-
declare function shorterThanOrEquals(value: string | unknown[], arg1: string | number): boolean;
|
|
37
|
-
declare function startsWith(value: string, arg1: string): boolean;
|
|
38
|
-
declare const baseRules: {
|
|
39
|
-
condition: typeof condition;
|
|
40
|
-
doesNotEndWith: (value: string, arg1: string) => boolean;
|
|
41
|
-
doesNotStartWith: (value: string, arg1: string) => boolean;
|
|
42
|
-
endsWith: typeof endsWith;
|
|
43
|
-
equals: typeof equals;
|
|
44
|
-
greaterThan: typeof import("packages/vest-utils/types/vest-utils").greaterThan;
|
|
45
|
-
greaterThanOrEquals: typeof greaterThanOrEquals;
|
|
46
|
-
gt: typeof import("packages/vest-utils/types/vest-utils").greaterThan;
|
|
47
|
-
gte: typeof greaterThanOrEquals;
|
|
48
|
-
inside: typeof inside;
|
|
49
|
-
isArray: typeof import("packages/vest-utils/types/vest-utils").isArray;
|
|
50
|
-
isBetween: typeof isBetween;
|
|
51
|
-
isBlank: typeof isBlank;
|
|
52
|
-
isBoolean: typeof import("packages/vest-utils/types/vest-utils").isBoolean;
|
|
53
|
-
isEmpty: typeof import("packages/vest-utils/types/vest-utils").isEmpty;
|
|
54
|
-
isEven: (value: any) => boolean;
|
|
55
|
-
isFalsy: (value: unknown) => boolean;
|
|
56
|
-
isKeyOf: typeof isKeyOf;
|
|
57
|
-
isNaN: typeof isNaN;
|
|
58
|
-
isNegative: typeof isNegative;
|
|
59
|
-
isNotArray: (value: unknown) => boolean;
|
|
60
|
-
isNotBetween: (value: string | number, min: string | number, max: string | number) => boolean;
|
|
61
|
-
isNotBlank: (value: unknown) => boolean;
|
|
62
|
-
isNotBoolean: (value: unknown) => boolean;
|
|
63
|
-
isNotEmpty: (value: unknown) => boolean;
|
|
64
|
-
isNotKeyOf: (key: string | number | symbol, obj: any) => boolean;
|
|
65
|
-
isNotNaN: (value: unknown) => boolean;
|
|
66
|
-
isNotNull: (value: unknown) => boolean;
|
|
67
|
-
isNotNullish: (value: any) => boolean;
|
|
68
|
-
isNotNumber: (value: unknown) => boolean;
|
|
69
|
-
isNotNumeric: (value: string | number) => boolean;
|
|
70
|
-
isNotString: (v: unknown) => boolean;
|
|
71
|
-
isNotUndefined: (value?: unknown) => boolean;
|
|
72
|
-
isNotValueOf: (value: any, objectToCheck: any) => boolean;
|
|
73
|
-
isNull: typeof import("packages/vest-utils/types/vest-utils").isNull;
|
|
74
|
-
isNullish: typeof import("packages/vest-utils/types/vest-utils").isNullish;
|
|
75
|
-
isNumber: typeof isNumber;
|
|
76
|
-
isNumeric: typeof import("packages/vest-utils/types/vest-utils").isNumeric;
|
|
77
|
-
isOdd: (value: any) => boolean;
|
|
78
|
-
isPositive: typeof import("packages/vest-utils/types/vest-utils").isPositive;
|
|
79
|
-
isString: typeof import("packages/vest-utils/types/vest-utils").isStringValue;
|
|
80
|
-
isTruthy: typeof isTruthy;
|
|
81
|
-
isUndefined: typeof import("packages/vest-utils/types/vest-utils").isUndefined;
|
|
82
|
-
isValueOf: typeof isValueOf;
|
|
83
|
-
lengthEquals: typeof import("packages/vest-utils/types/vest-utils").lengthEquals;
|
|
84
|
-
lengthNotEquals: (value: string | unknown[], arg1: string | number) => boolean;
|
|
85
|
-
lessThan: typeof lessThan;
|
|
86
|
-
lessThanOrEquals: typeof lessThanOrEquals;
|
|
87
|
-
longerThan: typeof import("packages/vest-utils/types/vest-utils").longerThan;
|
|
88
|
-
longerThanOrEquals: typeof longerThanOrEquals;
|
|
89
|
-
lt: typeof lessThan;
|
|
90
|
-
lte: typeof lessThanOrEquals;
|
|
91
|
-
matches: typeof matches;
|
|
92
|
-
notEquals: (value: unknown, arg1: unknown) => boolean;
|
|
93
|
-
notInside: (value: unknown, arg1: string | unknown[]) => boolean;
|
|
94
|
-
notMatches: (value: string, regex: string | RegExp) => boolean;
|
|
95
|
-
numberEquals: typeof import("packages/vest-utils/types/vest-utils").numberEquals;
|
|
96
|
-
numberNotEquals: (value: string | number, eq: string | number) => boolean;
|
|
97
|
-
shorterThan: typeof shorterThan;
|
|
98
|
-
shorterThanOrEquals: typeof shorterThanOrEquals;
|
|
99
|
-
startsWith: typeof startsWith;
|
|
100
|
-
};
|
|
101
|
-
type Rules<E> = n4s.EnforceCustomMatchers<Rules<E> & E> & Record<string, (...args: Args) => Rules<E> & E> & {
|
|
102
|
-
[P in KBaseRules]: (...args: DropFirst<Parameters<BaseRules[P]>> | Args) => Rules<E> & E;
|
|
103
|
-
};
|
|
104
|
-
/* eslint-disable @typescript-eslint/no-namespace, @typescript-eslint/no-empty-interface */
|
|
105
|
-
declare global {
|
|
106
|
-
namespace n4s {
|
|
107
|
-
interface IRules<E> extends Rules<E> {
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
type LazyRules = n4s.IRules<LazyRuleMethods>;
|
|
112
|
-
type Lazy = LazyRules & LazyRuleMethods &
|
|
113
|
-
// This is a "catch all" hack to make TS happy while not
|
|
114
|
-
// losing type hints
|
|
115
|
-
Record<string, CB>;
|
|
116
|
-
type LazyRuleMethods = LazyRuleRunners & {
|
|
117
|
-
message: (message: LazyMessage) => Lazy;
|
|
118
|
-
};
|
|
119
|
-
type LazyRuleRunners = {
|
|
120
|
-
test: (value: unknown) => boolean;
|
|
121
|
-
run: (value: unknown) => RuleDetailedResult;
|
|
122
|
-
};
|
|
123
|
-
type ComposeResult = LazyRuleRunners & ((value: any) => void);
|
|
124
|
-
type LazyMessage = string | ((value: unknown, originalMessage?: Stringable) => string);
|
|
125
|
-
declare function compose(...composites: LazyRuleRunners[]): ComposeResult;
|
|
1
|
+
declare const compose: Promise<typeof import("n4s/compose")>;
|
|
126
2
|
export { compose as default };
|
|
3
|
+
//# sourceMappingURL=compose.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../src/exports/enforce@compose.ts"],"names":[],"mappings":"AACA,QAAA,MAAM,OAAO,uCAAwB,CAAC"}
|
|
@@ -1,136 +1,2 @@
|
|
|
1
|
-
type DropFirst<T extends unknown[]> = T extends [
|
|
2
|
-
unknown,
|
|
3
|
-
...infer U
|
|
4
|
-
] ? U : never;
|
|
5
|
-
type Stringable = string | ((...args: any[]) => string);
|
|
6
|
-
type CB = (...args: any[]) => any;
|
|
7
|
-
type EnforceCustomMatcher<F extends CB, R> = (...args: DropFirst<Parameters<F>>) => R;
|
|
8
|
-
type RuleReturn = boolean | {
|
|
9
|
-
pass: boolean;
|
|
10
|
-
message?: Stringable;
|
|
11
|
-
};
|
|
12
|
-
type RuleDetailedResult = {
|
|
13
|
-
pass: boolean;
|
|
14
|
-
message?: string;
|
|
15
|
-
};
|
|
16
|
-
type Args = any[];
|
|
17
|
-
type BaseRules = typeof baseRules;
|
|
18
|
-
type KBaseRules = keyof BaseRules;
|
|
19
|
-
declare function condition(value: any, callback: (value: any) => RuleReturn): RuleReturn;
|
|
20
|
-
declare function endsWith(value: string, arg1: string): boolean;
|
|
21
|
-
declare function equals(value: unknown, arg1: unknown): boolean;
|
|
22
|
-
declare function greaterThanOrEquals(value: string | number, gte: string | number): boolean;
|
|
23
|
-
declare function inside(value: unknown, arg1: string | unknown[]): boolean;
|
|
24
|
-
declare function isBetween(value: number | string, min: number | string, max: number | string): boolean;
|
|
25
|
-
declare function isBlank(value: unknown): boolean;
|
|
26
|
-
declare function isKeyOf(key: string | symbol | number, obj: any): boolean;
|
|
27
|
-
declare function isNaN(value: unknown): boolean;
|
|
28
|
-
declare function isNegative(value: number | string): boolean;
|
|
29
|
-
declare function isNumber(value: unknown): value is number;
|
|
30
|
-
declare function isTruthy(value: unknown): boolean;
|
|
31
|
-
declare function isValueOf(value: any, objectToCheck: any): boolean;
|
|
32
|
-
declare function lessThan(value: string | number, lt: string | number): boolean;
|
|
33
|
-
declare function lessThanOrEquals(value: string | number, lte: string | number): boolean;
|
|
34
|
-
declare function longerThanOrEquals(value: string | unknown[], arg1: string | number): boolean;
|
|
35
|
-
declare function matches(value: string, regex: RegExp | string): boolean;
|
|
36
|
-
declare function shorterThan(value: string | unknown[], arg1: string | number): boolean;
|
|
37
|
-
declare function shorterThanOrEquals(value: string | unknown[], arg1: string | number): boolean;
|
|
38
|
-
declare function startsWith(value: string, arg1: string): boolean;
|
|
39
|
-
declare const baseRules: {
|
|
40
|
-
condition: typeof condition;
|
|
41
|
-
doesNotEndWith: (value: string, arg1: string) => boolean;
|
|
42
|
-
doesNotStartWith: (value: string, arg1: string) => boolean;
|
|
43
|
-
endsWith: typeof endsWith;
|
|
44
|
-
equals: typeof equals;
|
|
45
|
-
greaterThan: typeof import("packages/vest-utils/types/vest-utils").greaterThan;
|
|
46
|
-
greaterThanOrEquals: typeof greaterThanOrEquals;
|
|
47
|
-
gt: typeof import("packages/vest-utils/types/vest-utils").greaterThan;
|
|
48
|
-
gte: typeof greaterThanOrEquals;
|
|
49
|
-
inside: typeof inside;
|
|
50
|
-
isArray: typeof import("packages/vest-utils/types/vest-utils").isArray;
|
|
51
|
-
isBetween: typeof isBetween;
|
|
52
|
-
isBlank: typeof isBlank;
|
|
53
|
-
isBoolean: typeof import("packages/vest-utils/types/vest-utils").isBoolean;
|
|
54
|
-
isEmpty: typeof import("packages/vest-utils/types/vest-utils").isEmpty;
|
|
55
|
-
isEven: (value: any) => boolean;
|
|
56
|
-
isFalsy: (value: unknown) => boolean;
|
|
57
|
-
isKeyOf: typeof isKeyOf;
|
|
58
|
-
isNaN: typeof isNaN;
|
|
59
|
-
isNegative: typeof isNegative;
|
|
60
|
-
isNotArray: (value: unknown) => boolean;
|
|
61
|
-
isNotBetween: (value: string | number, min: string | number, max: string | number) => boolean;
|
|
62
|
-
isNotBlank: (value: unknown) => boolean;
|
|
63
|
-
isNotBoolean: (value: unknown) => boolean;
|
|
64
|
-
isNotEmpty: (value: unknown) => boolean;
|
|
65
|
-
isNotKeyOf: (key: string | number | symbol, obj: any) => boolean;
|
|
66
|
-
isNotNaN: (value: unknown) => boolean;
|
|
67
|
-
isNotNull: (value: unknown) => boolean;
|
|
68
|
-
isNotNullish: (value: any) => boolean;
|
|
69
|
-
isNotNumber: (value: unknown) => boolean;
|
|
70
|
-
isNotNumeric: (value: string | number) => boolean;
|
|
71
|
-
isNotString: (v: unknown) => boolean;
|
|
72
|
-
isNotUndefined: (value?: unknown) => boolean;
|
|
73
|
-
isNotValueOf: (value: any, objectToCheck: any) => boolean;
|
|
74
|
-
isNull: typeof import("packages/vest-utils/types/vest-utils").isNull;
|
|
75
|
-
isNullish: typeof import("packages/vest-utils/types/vest-utils").isNullish;
|
|
76
|
-
isNumber: typeof isNumber;
|
|
77
|
-
isNumeric: typeof import("packages/vest-utils/types/vest-utils").isNumeric;
|
|
78
|
-
isOdd: (value: any) => boolean;
|
|
79
|
-
isPositive: typeof import("packages/vest-utils/types/vest-utils").isPositive;
|
|
80
|
-
isString: typeof import("packages/vest-utils/types/vest-utils").isStringValue;
|
|
81
|
-
isTruthy: typeof isTruthy;
|
|
82
|
-
isUndefined: typeof import("packages/vest-utils/types/vest-utils").isUndefined;
|
|
83
|
-
isValueOf: typeof isValueOf;
|
|
84
|
-
lengthEquals: typeof import("packages/vest-utils/types/vest-utils").lengthEquals;
|
|
85
|
-
lengthNotEquals: (value: string | unknown[], arg1: string | number) => boolean;
|
|
86
|
-
lessThan: typeof lessThan;
|
|
87
|
-
lessThanOrEquals: typeof lessThanOrEquals;
|
|
88
|
-
longerThan: typeof import("packages/vest-utils/types/vest-utils").longerThan;
|
|
89
|
-
longerThanOrEquals: typeof longerThanOrEquals;
|
|
90
|
-
lt: typeof lessThan;
|
|
91
|
-
lte: typeof lessThanOrEquals;
|
|
92
|
-
matches: typeof matches;
|
|
93
|
-
notEquals: (value: unknown, arg1: unknown) => boolean;
|
|
94
|
-
notInside: (value: unknown, arg1: string | unknown[]) => boolean;
|
|
95
|
-
notMatches: (value: string, regex: string | RegExp) => boolean;
|
|
96
|
-
numberEquals: typeof import("packages/vest-utils/types/vest-utils").numberEquals;
|
|
97
|
-
numberNotEquals: (value: string | number, eq: string | number) => boolean;
|
|
98
|
-
shorterThan: typeof shorterThan;
|
|
99
|
-
shorterThanOrEquals: typeof shorterThanOrEquals;
|
|
100
|
-
startsWith: typeof startsWith;
|
|
101
|
-
};
|
|
102
|
-
type Rules<E> = n4s.EnforceCustomMatchers<Rules<E> & E> & Record<string, (...args: Args) => Rules<E> & E> & {
|
|
103
|
-
[P in KBaseRules]: (...args: DropFirst<Parameters<BaseRules[P]>> | Args) => Rules<E> & E;
|
|
104
|
-
};
|
|
105
|
-
/* eslint-disable @typescript-eslint/no-namespace, @typescript-eslint/no-empty-interface */
|
|
106
|
-
declare global {
|
|
107
|
-
namespace n4s {
|
|
108
|
-
interface IRules<E> extends Rules<E> {
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
type LazyRules = n4s.IRules<LazyRuleMethods>;
|
|
113
|
-
type Lazy = LazyRules & LazyRuleMethods &
|
|
114
|
-
// This is a "catch all" hack to make TS happy while not
|
|
115
|
-
// losing type hints
|
|
116
|
-
Record<string, CB>;
|
|
117
|
-
type LazyRuleMethods = LazyRuleRunners & {
|
|
118
|
-
message: (message: LazyMessage) => Lazy;
|
|
119
|
-
};
|
|
120
|
-
type LazyRuleRunners = {
|
|
121
|
-
test: (value: unknown) => boolean;
|
|
122
|
-
run: (value: unknown) => RuleDetailedResult;
|
|
123
|
-
};
|
|
124
|
-
type LazyMessage = string | ((value: unknown, originalMessage?: Stringable) => string);
|
|
125
|
-
type EnforceCompoundRule = (value: unknown, ...rules: Lazy[]) => RuleDetailedResult;
|
|
126
|
-
declare global {
|
|
127
|
-
namespace n4s {
|
|
128
|
-
interface EnforceCustomMatchers<R> {
|
|
129
|
-
allOf: EnforceCustomMatcher<EnforceCompoundRule, R>;
|
|
130
|
-
anyOf: EnforceCustomMatcher<EnforceCompoundRule, R>;
|
|
131
|
-
noneOf: EnforceCustomMatcher<EnforceCompoundRule, R>;
|
|
132
|
-
oneOf: EnforceCustomMatcher<EnforceCompoundRule, R>;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
1
|
export {};
|
|
2
|
+
//# sourceMappingURL=compounds.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compounds.d.ts","sourceRoot":"","sources":["../../src/exports/enforce@compounds.ts"],"names":[],"mappings":""}
|