vest 5.0.0-dev-781e21 → 5.0.2-dev-d315d9
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/LICENSE +2 -2
- package/README.md +2 -57
- package/dist/cjs/classnames.development.js +18 -16
- package/dist/cjs/classnames.production.js +1 -1
- package/dist/cjs/enforce/compose.development.js +5 -54
- package/dist/cjs/enforce/compose.production.js +1 -1
- package/dist/cjs/enforce/compounds.development.js +20 -83
- package/dist/cjs/enforce/compounds.production.js +1 -1
- package/dist/cjs/enforce/schema.development.js +19 -82
- package/dist/cjs/enforce/schema.production.js +1 -1
- package/dist/cjs/parser.development.js +12 -9
- package/dist/cjs/parser.production.js +1 -1
- package/dist/cjs/promisify.development.js +4 -8
- package/dist/cjs/promisify.production.js +1 -1
- package/dist/cjs/vest.development.js +1287 -1153
- package/dist/cjs/vest.production.js +1 -1
- package/dist/es/classnames.development.js +20 -18
- package/dist/es/classnames.production.js +1 -1
- package/dist/es/enforce/compose.development.js +1 -58
- package/dist/es/enforce/compose.production.js +1 -1
- package/dist/es/enforce/compounds.development.js +2 -90
- package/dist/es/enforce/compounds.production.js +1 -1
- package/dist/es/enforce/schema.development.js +2 -88
- package/dist/es/enforce/schema.production.js +1 -1
- package/dist/es/parser.development.js +12 -9
- package/dist/es/parser.production.js +1 -1
- package/dist/es/promisify.development.js +5 -9
- package/dist/es/promisify.production.js +1 -1
- package/dist/es/vest.development.js +1286 -1148
- package/dist/es/vest.production.js +1 -1
- package/dist/umd/classnames.development.js +21 -19
- package/dist/umd/classnames.production.js +1 -1
- package/dist/umd/enforce/compose.development.js +9 -57
- package/dist/umd/enforce/compose.production.js +1 -1
- package/dist/umd/enforce/compounds.development.js +32 -94
- package/dist/umd/enforce/compounds.production.js +1 -1
- package/dist/umd/enforce/schema.development.js +32 -94
- package/dist/umd/enforce/schema.production.js +1 -1
- package/dist/umd/parser.development.js +16 -13
- package/dist/umd/parser.production.js +1 -1
- package/dist/umd/promisify.development.js +7 -11
- package/dist/umd/promisify.production.js +1 -1
- package/dist/umd/vest.development.js +1289 -1155
- package/dist/umd/vest.production.js +1 -1
- package/package.json +12 -16
- package/src/__tests__/__snapshots__/integration.async-tests.test.ts.snap +71 -0
- package/src/__tests__/__snapshots__/integration.base.test.ts.snap +71 -0
- package/src/__tests__/__snapshots__/integration.stateful-async.test.ts.snap +243 -0
- package/src/__tests__/__snapshots__/integration.stateful-tests.test.ts.snap +376 -0
- package/src/__tests__/integration.async-tests.test.ts +90 -0
- package/src/__tests__/integration.base.test.ts +45 -0
- package/src/__tests__/integration.exclusive.test.ts +88 -0
- package/src/__tests__/integration.stateful-async.test.ts +137 -0
- package/src/__tests__/integration.stateful-tests.test.ts +155 -0
- package/src/__tests__/isolate.test.ts +288 -0
- package/src/__tests__/state_refill.test.ts +41 -0
- package/src/core/SuiteWalker/SuiteWalker.ts +64 -0
- package/src/core/SuiteWalker/__tests__/hasRemainingTests.test.ts +130 -0
- package/src/core/VestBus/VestBus.ts +78 -0
- package/src/core/context/PersistedContext.ts +243 -0
- package/src/core/context/SuiteContext.ts +74 -0
- package/src/core/isolate/IsolateTest/IsolateTest.ts +213 -0
- package/src/core/isolate/IsolateTest/IsolateTestReconciler.ts +156 -0
- package/src/core/isolate/IsolateTest/IsolateTestStateMachine.ts +69 -0
- package/src/core/isolate/IsolateTest/SimpleStateMachine.ts +43 -0
- package/src/core/isolate/IsolateTest/TestWalker.ts +77 -0
- package/src/core/isolate/IsolateTypes.ts +10 -0
- package/src/core/isolate/isIsolate.ts +6 -0
- package/src/core/isolate/isolate.ts +110 -0
- package/src/core/isolate/reconciler/Reconciler/Reconciler.ts +123 -0
- package/src/core/isolate/reconciler/cancelOverriddenPendingTest.ts +15 -0
- package/src/core/isolate/reconciler/isSameProfileTest.ts +12 -0
- package/src/core/isolate/walker.ts +127 -0
- package/src/core/test/TestTypes.ts +3 -0
- package/src/core/test/__tests__/IsolateTest.test.ts +152 -0
- package/src/core/test/__tests__/__snapshots__/IsolateTest.test.ts.snap +39 -0
- package/src/core/test/__tests__/__snapshots__/memo.test.ts.snap +101 -0
- package/src/core/test/__tests__/__snapshots__/test.test.ts.snap +231 -0
- package/src/core/test/__tests__/key.test.ts +195 -0
- package/src/core/test/__tests__/memo.test.ts +218 -0
- package/src/core/test/__tests__/merging_of_previous_test_runs.test.ts +341 -0
- package/src/core/test/__tests__/runAsyncTest.test.ts +175 -0
- package/src/core/test/__tests__/test.test.ts +226 -0
- package/src/core/test/helpers/__tests__/nonMatchingSeverityProfile.test.ts +52 -0
- package/src/core/test/helpers/asVestTest.ts +9 -0
- package/src/core/test/helpers/matchingFieldName.ts +16 -0
- package/src/core/test/helpers/matchingGroupName.ts +12 -0
- package/src/core/test/helpers/nonMatchingSeverityProfile.ts +14 -0
- package/src/core/test/helpers/shouldUseErrorMessage.ts +9 -0
- package/src/core/test/test.memo.ts +81 -0
- package/src/core/test/test.ts +64 -0
- package/src/core/test/testLevelFlowControl/runTest.ts +86 -0
- package/src/core/test/testLevelFlowControl/verifyTestRun.ts +32 -0
- package/src/core/test/testObjectIsolate.ts +11 -0
- package/src/errors/ErrorStrings.ts +4 -0
- package/src/exports/__tests__/classnames.test.ts +92 -0
- package/src/exports/__tests__/parser.test.ts +441 -0
- package/src/exports/__tests__/promisify.test.ts +77 -0
- package/src/exports/classnames.ts +35 -0
- package/src/exports/enforce@compose.ts +1 -0
- package/src/exports/enforce@compounds.ts +1 -0
- package/src/exports/enforce@schema.ts +1 -0
- package/src/exports/parser.ts +63 -0
- package/src/exports/promisify.ts +18 -0
- package/src/hooks/__tests__/__snapshots__/include.test.ts.snap +794 -0
- package/src/hooks/__tests__/eager.test.ts +130 -0
- package/src/hooks/__tests__/exclusive.test.ts +578 -0
- package/src/hooks/__tests__/include.test.ts +431 -0
- package/src/hooks/__tests__/optional.test.ts +83 -0
- package/src/hooks/__tests__/warn.test.ts +42 -0
- package/src/hooks/exclusive.ts +179 -0
- package/src/hooks/include.ts +54 -0
- package/src/hooks/mode.ts +47 -0
- package/src/hooks/optional/OptionalTypes.ts +31 -0
- package/src/hooks/optional/optional.ts +69 -0
- package/src/hooks/warn.ts +19 -0
- package/src/isolates/__tests__/__snapshots__/each.test.ts.snap +3 -0
- package/src/isolates/__tests__/__snapshots__/group.test.ts.snap +114 -0
- package/src/isolates/__tests__/__snapshots__/omitWhen.test.ts.snap +443 -0
- package/src/isolates/__tests__/__snapshots__/skipWhen.test.ts.snap +99 -0
- package/src/isolates/__tests__/each.test.ts +35 -0
- package/src/isolates/__tests__/group.test.ts +362 -0
- package/src/isolates/__tests__/omitWhen.test.ts +246 -0
- package/src/isolates/__tests__/skipWhen.test.ts +163 -0
- package/src/isolates/each.ts +30 -0
- package/src/isolates/group.ts +9 -0
- package/src/isolates/omitWhen.ts +41 -0
- package/src/isolates/skipWhen.ts +42 -0
- package/src/suite/__tests__/__snapshots__/create.test.ts.snap +67 -0
- package/src/suite/__tests__/create.test.ts +109 -0
- package/src/suite/__tests__/remove.test.ts +50 -0
- package/src/suite/__tests__/resetField.test.ts +74 -0
- package/src/suite/createSuite.ts +94 -0
- package/src/suite/runCallbacks.ts +28 -0
- package/src/suiteResult/Severity.ts +15 -0
- package/src/suiteResult/SuiteResultTypes.ts +42 -0
- package/src/suiteResult/__tests__/done.test.ts +334 -0
- package/src/suiteResult/__tests__/produce.test.ts +163 -0
- package/src/suiteResult/done/deferDoneCallback.ts +28 -0
- package/src/suiteResult/done/shouldSkipDoneRegistration.ts +20 -0
- package/src/suiteResult/selectors/__tests__/__snapshots__/collectFailureMessages.test.ts.snap +89 -0
- package/src/suiteResult/selectors/__tests__/collectFailureMessages.test.ts +124 -0
- package/src/suiteResult/selectors/__tests__/getFailures.test.ts +158 -0
- package/src/suiteResult/selectors/__tests__/getFailuresByGroup.test.ts +199 -0
- package/src/suiteResult/selectors/__tests__/hasFailures.test.ts +141 -0
- package/src/suiteResult/selectors/__tests__/hasFailuresByGroup.test.ts +185 -0
- package/src/suiteResult/selectors/__tests__/hasFailuresByTestObject.test.ts +88 -0
- package/src/suiteResult/selectors/__tests__/isValid.test.ts +359 -0
- package/src/suiteResult/selectors/__tests__/isValidByGroup.test.ts +480 -0
- package/src/suiteResult/selectors/collectFailures.ts +43 -0
- package/src/suiteResult/selectors/hasFailuresByTestObjects.ts +62 -0
- package/src/suiteResult/selectors/produceSuiteSummary.ts +135 -0
- package/src/suiteResult/selectors/shouldAddValidProperty.ts +148 -0
- package/src/suiteResult/selectors/suiteSelectors.ts +199 -0
- package/src/suiteResult/suiteResult.ts +15 -0
- package/src/suiteResult/suiteRunResult.ts +43 -0
- package/src/vest.ts +36 -0
- package/testUtils/TVestMock.ts +5 -0
- package/testUtils/__tests__/partition.test.ts +4 -4
- package/testUtils/mockThrowError.ts +4 -2
- package/testUtils/suiteDummy.ts +2 -1
- package/testUtils/testDummy.ts +12 -10
- package/testUtils/testPromise.ts +3 -0
- package/tsconfig.json +84 -2
- package/types/classnames.d.ts +39 -4
- package/types/classnames.d.ts.map +1 -0
- package/types/enforce/compose.d.ts +2 -126
- package/types/enforce/compose.d.ts.map +1 -0
- package/types/enforce/compounds.d.ts +2 -136
- 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 +45 -10
- package/types/parser.d.ts.map +1 -0
- package/types/promisify.d.ts +36 -34
- package/types/promisify.d.ts.map +1 -0
- package/types/vest.d.ts +169 -224
- package/types/vest.d.ts.map +1 -0
- package/CHANGELOG.md +0 -87
- package/testUtils/expandStateRef.ts +0 -8
- package/testUtils/runCreateRef.ts +0 -10
- package/testUtils/testObjects.ts +0 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createCascade as t}from"context";import{isUndefined as n,isStringValue as e,assign as r,cache as i,nestedArray as u,asArray as s,seq as o,optionalFunctionValue as a,isFunction as c,isNullish as f,deferThrow as l,invariant as d,bindNot as p,either as v,isArray as E,isEmpty as N,isNotEmpty as h,isPositive as m,numberEquals as g,hasOwnProperty as y,callEach as R,bus as S,defaultTo as C,isPromise as T,isNull as _}from"vest-utils";export{enforce}from"n4s";var O,I=O||(O={});I[I.DEFAULT=0]="DEFAULT",I[I.SUITE=1]="SUITE",I[I.EACH=2]="EACH",I[I.SKIP_WHEN=3]="SKIP_WHEN",I[I.OMIT_WHEN=4]="OMIT_WHEN",I[I.GROUP=5]="GROUP";var A,k=A||(A={});function b(){var t=0;return{current:function(){return t},next:function(){t++}}}function U(t,n){return void 0===n&&(n=[]),{cursor:b(),keys:{current:{},prev:{}},path:n,type:t}}k[k.ALL=0]="ALL",k[k.EAGER=1]="EAGER";var L=t((function(t,n){return n?null:r({exclusion:{tests:{},groups:{}},inclusion:{},isolate:U(O.DEFAULT),mode:[A.ALL]},t)}));function F(){return L.useX().stateRef}function D(t,n){(0,F().optionalFields()[1])((function(e){var i;return r(e,((i={})[t]=r({},e[t],n(e[t])),i))}))}function W(t){var n;return null!==(n=F().optionalFields()[0][t])&&void 0!==n?n:{}}function P(){G((function(t){return t}))}function G(t){(0,F().testObjects()[1])((function(n){return{prev:n.prev,current:s(t(n.current))}}))}function w(){return X().filter((function(t){return t.isPending()}))}var x=i();function X(){var t=F().testObjects()[0].current;return x([t],(function(){return u.flatten(t)}))}var H,K=H||(H={});K.Error="error",K.Warning="warning";var M=function(){function t(t,n,e){var r=void 0===e?{}:e;e=r.message;var i=r.groupName;r=r.key,this.key=null,this.id=o(),this.severity=H.Error,this.status=q,this.fieldName=t,this.testFn=n,i&&(this.groupName=i),e&&(this.message=e),r&&(this.key=r)}return t.prototype.run=function(){try{var t=this.testFn()}catch(r){t=r,n(this.message)&&e(t)&&(this.message=r),t=!1}return!1===t&&this.fail(),t},t.prototype.setStatus=function(t){this.isFinalStatus()&&t!==Q||(this.status=t)},t.prototype.warns=function(){return this.severity===H.Warning},t.prototype.setPending=function(){this.setStatus(J)},t.prototype.fail=function(){this.setStatus(this.warns()?j:V)},t.prototype.done=function(){this.isFinalStatus()||this.setStatus(Y)},t.prototype.warn=function(){this.severity=H.Warning},t.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},t.prototype.skip=function(t){this.isPending()&&!t||this.setStatus(B)},t.prototype.cancel=function(){this.setStatus(z),P()},t.prototype.reset=function(){this.status=q,P()},t.prototype.omit=function(){this.setStatus(Q)},t.prototype.valueOf=function(){return!this.isFailing()},t.prototype.isPending=function(){return this.statusEquals(J)},t.prototype.isOmitted=function(){return this.statusEquals(Q)},t.prototype.isUntested=function(){return this.statusEquals(q)},t.prototype.isFailing=function(){return this.statusEquals(V)},t.prototype.isCanceled=function(){return this.statusEquals(z)},t.prototype.isSkipped=function(){return this.statusEquals(B)},t.prototype.isPassing=function(){return this.statusEquals(Y)},t.prototype.isWarning=function(){return this.statusEquals(j)},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}(),q="UNTESTED",B="SKIPPED",V="FAILED",j="WARNING",Y="PASSING",J="PENDING",z="CANCELED",Q="OMITTED";function Z(t){function n(t,n,i){return r.references.push(),e(t,a(n,i)),function(){return[r.references[t],function(n){return e(t,a(n,r.references[t]))}]}}function e(n,e){var u=r.references[n];r.references[n]=e,n=i[n][1],c(n)&&n(e,u),c(t)&&t()}var r={references:[]},i=[];return{registerStateKey:function(t,e){var r=i.length;return i.push([t,e]),n(r,t)},reset:function(){var t=r.references;r.references=[],i.forEach((function(e,r){return n(r,e[0],t[r])}))}}}function $(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 tt(){return L.useX().isolate}function nt(){var t=tt();return t.path.concat(t.cursor.current())}function et(t,n){t=void 0===(t=t.type)?O.DEFAULT:t,d(c(n));var e=U(t,nt());return t=L.run({isolate:e},(function(){return e.keys.prev=function(){var t=F().testObjects()[0].prev;return s(u.getCurrent(t,nt())).reduce((function(t,n){return n instanceof M&&!f(n.key)?(t[n.key]=n,t):t}),{})}(),G((function(t){return u.setValueAtPath(t,e.path,[])})),n()})),tt().cursor.next(),t}var rt,it=rt||(rt={});it.WARNINGS="warnings",it.ERRORS="errors";var ut,st=ut||(ut={});function ot(t,n){return!(!n||t.fieldName!==n)}st.ERROR_COUNT="errorCount",st.WARN_COUNT="warnCount";var at=p((function(t,n){return t.groupName===n}));function ct(t,n){return X().some((function(e){return ft(e,t,n)}))}function ft(t,n,e){return!(!t.hasFailures()||e&&!ot(t,e)||v(n===rt.WARNINGS,t.warns()))}function lt(t){return!!t&&W(t).applied}var dt,pt=dt||(dt={});function vt(t){if(lt(t))return!0;var n=X();return!(N(n)||ct(rt.ERRORS,t)||function(t){return h(w().filter((function(n){return Et(n,t)})))}(t))&&function(t){return X().every((function(n){return Nt(n,t)}))}(t)}function Et(t,n){return!(n&&!ot(t,n))&<(n)}function Nt(t,n){return!(!n||ot(t,n))||(W(t.fieldName).type===dt.Delayed&&t.awaitsResolution()||t.isTested()||t.isOmitted())}function ht(){var t=X(),n=r({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{},valid:!1});return t.reduce((function(t,n){var e=t.tests;e[n.fieldName]=mt(e,n),e[n.fieldName].valid=!1!==e[n.fieldName].valid&&vt(n.fieldName);var r=t.groups,i=n.groupName;return i&&(r[i]=r[i]||{},r[i][n.fieldName]=mt(r[i],n),e=r[i][n.fieldName],!1===r[i][n.fieldName].valid?n=!1:n=!!lt(n=n.fieldName)||!function(t,n,e){return X().some((function(r){return!at(r,n)&&ft(r,t,e)}))}(rt.ERRORS,i,n)&&!function(t,n){return h(w().filter((function(e){return!at(e,t)&&Et(e,n)})))}(i,n)&&function(t,n){return X().every((function(e){return!!at(e,t)||Nt(e,n)}))}(i,n),e.valid=n),t}),n),n.valid=vt(),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 mt(t,n){function e(t){s[t===rt.ERRORS?ut.ERROR_COUNT:ut.WARN_COUNT]++,u&&(s[t]=(s[t]||[]).concat(u))}var i=n.fieldName,u=n.message;t[i]=t[i]||r({errorCount:0,warnCount:0,testCount:0},{errors:[],warnings:[]});var s=t[i];return n.isNonActionable()||(t[i].testCount++,n.isFailing()?e(rt.ERRORS):n.isWarning()&&e(rt.WARNINGS)),s}function gt(t,n,e){if(e){var r;t=(null===(r=null==t?void 0:t[e])||void 0===r?void 0:r[n])||[]}else{for(var i in r={},e=n===rt.ERRORS?ut.ERROR_COUNT:ut.WARN_COUNT,t)m(t[i][e])&&(r[i]=t[i][n]||[]);t=r}return t}function yt(t){return{getErrors:function(n){return gt(t.tests,rt.ERRORS,n)},getErrorsByGroup:function(n,e){return gt(t.groups[n],rt.ERRORS,e)},getWarnings:function(n){return gt(t.tests,rt.WARNINGS,n)},getWarningsByGroup:function(n,e){return gt(t.groups[n],rt.WARNINGS,e)},hasErrors:function(n){return Ct(t,ut.ERROR_COUNT,n)},hasErrorsByGroup:function(n,e){return St(t,ut.ERROR_COUNT,n,e)},hasWarnings:function(n){return Ct(t,ut.WARN_COUNT,n)},hasWarningsByGroup:function(n,e){return St(t,ut.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 Rt(n,e);for(var r in n)if(!Rt(n,r))return!1;return!0}}}function Rt(t,n){var e;return!(null===(e=t[n])||void 0===e||!e.valid)}function St(t,n,e,r){var i,u;if(!(t=t.groups[e]))return!1;if(r)return m(null===(i=t[r])||void 0===i?void 0:i[n]);for(var s in t)if(m(null===(u=t[s])||void 0===u?void 0:u[n]))return!0;return!1}function Ct(t,n,e){var r;return t=e?null===(r=t.tests[e])||void 0===r?void 0:r[n]:t[n]||0,m(t)}pt[pt.Immediate=0]="Immediate",pt[pt.Delayed=1]="Delayed";var Tt=i(1);function _t(){var t=X(),n={stateRef:F()};return Tt([t],L.bind(n,(function(){var t=ht(),n=F().suiteName()[0];return r(t,yt(t),{suiteName:n})})))}function Ot(t){var n=w();return!N(n)&&(!t||n.some((function(n){return ot(n,t)})))}var It=i(20);function At(){var t=X(),n={stateRef:F()};return It([t],L.bind(n,(function(){return r({},_t(),{done:L.bind(n,Ut)})})))}function kt(t,n,e){var r;return!!(!c(t)||n&&g(null===(r=e.tests[n])||void 0===r?void 0:r.testCount,0))}function bt(t){return!(Ot()&&(!t||Ot(t)))}function Ut(){function t(){return r(_t())}for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var r=(n=n.reverse())[0];return n=n[1],e=At(),kt(r,n,e)?e:bt(n)?(t(),e):(Lt(t,n),e)}function Lt(t,n){(0,F().testCallbacks()[1])((function(e){return n?e.fieldCallbacks[n]=(e.fieldCallbacks[n]||[]).concat(t):e.doneCallbacks.push(t),e}))}function Ft(){var t=S.createBus();return t.on(Wt.TEST_COMPLETED,(function(n){if(!n.isCanceled()){n.done(),n=n.fieldName;var e=F().testCallbacks()[0].fieldCallbacks;n&&!Ot(n)&&E(e[n])&&R(e[n]),Ot()||t.emit(Wt.ALL_RUNNING_TESTS_FINISHED)}})),t.on(Wt.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){function t(t){e[t.fieldName]&&(t.omit(),D(t.fieldName,(function(){return{applied:!0}})))}var n=F().optionalFields()[0];if(!N(n)){var e={};X().forEach((function(n){if(y(e,n.fieldName))t(n);else{var r=W(n.fieldName);r.type===dt.Immediate&&(e[n.fieldName]=a(r.rule),t(n))}})),P()}}()})),t.on(Wt.ALL_RUNNING_TESTS_FINISHED,(function(){var t=F().testCallbacks()[0].doneCallbacks;R(t)})),t.on(Wt.REMOVE_FIELD,(function(t){X().forEach((function(n){ot(n,t)&&(n.cancel(),function(t){G((function(n){return u.transform(n,(function(n){return t!==n?n:null}))}))}(n))}))})),t.on(Wt.RESET_FIELD,(function(t){X().forEach((function(n){ot(n,t)&&n.reset()}))})),t}function Dt(){var t=L.useX();return d(t.bus),t.bus}var Wt,Pt=Wt||(Wt={});function Gt(t){return xt(0,"tests",t)}function wt(t){return xt(1,"tests",t)}function xt(t,n,r){var i=L.useX("hook called outside of a running suite.");r&&s(r).forEach((function(r){e(r)&&(i.exclusion[n][r]=0===t)}))}function Xt(t){for(var n in t)if(!0===t[n])return!0;return!1}function Ht(){var t,n=L.useX().exclusion;for(t in n.groups)if(n.groups[t])return!0;return!1}function Kt(t){return"Wrong arguments passed to group. Group ".concat(t,".")}function Mt(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 qt(t){var n=t.asyncTest,r=t.message;if(T(n)){var i=Dt().emit,u=F(),s=L.bind({stateRef:u},(function(){P(),i(Wt.TEST_COMPLETED,t)}));u=L.bind({stateRef:u},(function(n){t.isCanceled()||(t.message=e(n)?n:r,t.fail(),s())}));try{n.then(s,u)}catch(t){u()}}}function Bt(t){var n=F().testObjects()[0].prev;if(N(n))return Vt(t),t;var e=nt();if(n=u.valueAtPath(n,e),!f(t.key)){n=t.key,(e=tt().keys.prev[n])&&(t=e),e=t;var r=tt().keys.current;return f(r[n])?r[n]=e:l('Encountered the same test key "'.concat(n,"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted.")),Vt(t),t}return!h(e=n)||e.fieldName===t.fieldName&&e.groupName===t.groupName||(tt().type===O.EACH||l("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=tt().cursor.current();G((function(n){return n.splice(t),n}))}(),n=null),Vt(t=C(n,t)),t}function Vt(t){var n=nt();G((function(e){return u.setValueAtPath(e,n,t)}))}function jt(t){var n=tt().cursor,e=A.EAGER;if(L.useX().mode[0]===e&&ct(rt.ERRORS,t.fieldName))return t.skip(),Bt(t),n.next(),t;if(e=Bt(t),L.useX().omitted||lt(t.fieldName))return e.omit(),n.next(),e;if(function(t){var n=t.fieldName;if(t=t.groupName,L.useX().skipped)return!0;var e=L.useX(),r=e.exclusion;e=e.inclusion;var i=r.tests,u=i[n];if(!1===u)return!0;if(u=!0===u,t){var s=L.useX().exclusion.groups;if(s=y(s,t)?!1===s[t]:Ht())return!0;if(!0===r.groups[t])return!(u||!Xt(i)&&!1!==i[n])}return!!(t=!!Ht()&&!t)||!u&&!!Xt(i)&&!a(e[n])}(t))return e.skip(!!L.useX().skipped),n.next(),e;if(t!==e&&e.fieldName===t.fieldName&&e.groupName===t.groupName&&e.isPending()&&e.cancel(),Vt(t),t.isUntested()){e=Dt();var r=function(t){return L.run({currentTest:t},(function(){return t.run()}))}(t);try{T(r)?(t.asyncTest=r,t.setPending(),qt(t)):e.emit(Wt.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 T(t.asyncTest)&&(t.setPending(),qt(t));return n.next(),t}function Yt(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];var i=c(n[1])?n:Mt([void 0],n,!0);n=i[0],r=i[1],i=i[2],d(e(t),Zt("fieldName","string")),d(c(r),Zt("Test callback","function"));var u=L.useX();return jt(n=new M(t,r,{message:n,groupName:u.groupName,key:i}))}Pt.TEST_COMPLETED="test_completed",Pt.ALL_RUNNING_TESTS_FINISHED="all_running_tests_finished",Pt.REMOVE_FIELD="remove_field",Pt.RESET_FIELD="reset_field",Pt.SUITE_CALLBACK_DONE_RUNNING="suite_callback_done_running",Gt.group=function(t){return xt(0,"groups",t)},wt.group=function(t){return xt(1,"groups",t)};var Jt,zt,Qt=r(Yt,{memo:(Jt=Yt,zt=i(10),function(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];e=tt().cursor.current();var r=(n=n.reverse())[0],i=n[1],u=n[2];return e=[F().suiteId()[0],t,e].concat(r),n=zt.get(e),_(n)?zt(e,(function(){return Jt(t,u,i)})):n[1].isCanceled()?(zt.invalidate(e),zt(e,(function(){return Jt(t,u,i)}))):jt(n[1])})});function Zt(t,n){return"Incompatible params passed to test function. ".concat(t," must be a ").concat(n)}var $t="5.0.0-dev-781e21";function tn(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var e=(t=t.reverse())[0];t=t[1],d(c(e),"vest.create: Expected callback to be a function.");var i=Ft(),u=Z();return t={stateRef:$(u,{suiteId:o(),suiteName:t}),bus:i},r(L.bind(t,(function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return u.reset(),et({type:O.SUITE},(function(){e.apply(void 0,t)})),i.emit(Wt.SUITE_CALLBACK_DONE_RUNNING),At()})),{get:L.bind(t,_t),remove:L.bind(t,(function(t){i.emit(Wt.REMOVE_FIELD,t)})),reset:u.reset,resetField:L.bind(t,(function(t){i.emit(Wt.RESET_FIELD,t)}))})}function nn(t,n){d(c(n),"each callback must be a function"),et({type:O.EACH},(function(){t.forEach((function(t,e){n(t,e)}))}))}function en(){var t=A.EAGER;L.useX().mode[0]=t}function rn(t,n){d(e(t),Kt("name must be a string")),d(c(n),Kt("callback must be a function")),et({type:O.GROUP},(function(){L.run({groupName:t},n)}))}function un(t){var n=L.useX(),r=n.inclusion;return n=n.exclusion,d(e(t)),r[t]=C(n.tests[t],!0),{when:function(n){var r=L.useX(),i=r.exclusion;r.inclusion[t]=function(){return y(i.tests,t)?C(i.tests[t],!0):e(n)?!!i.tests[n]:a(n,a(_t))}}}}function sn(t,n){et({type:O.OMIT_WHEN},(function(){L.run({omitted:!!L.useX().omitted||a(t,a(_t))},(function(){return n()}))}))}function on(t){if(E(t)||e(t))s(t).forEach((function(t){D(t,(function(){return{type:dt.Delayed,applied:!1,rule:null}}))}));else{var n,r=function(n){var e=t[n];D(n,(function(){return{type:dt.Immediate,rule:e,applied:a(e)}}))};for(n in t)r(n)}}function an(t,n){et({type:O.SKIP_WHEN},(function(){L.run({skipped:!!L.useX().skipped||a(t,a(_t))},(function(){return n()}))}))}function cn(){var t=L.useX("warn hook called outside of a running suite.");d(t.currentTest,"warn called outside of a test."),t.currentTest.warn()}export{$t as VERSION,L as context,tn as create,nn as each,en as eager,rn as group,un as include,sn as omitWhen,Gt as only,on as optional,wt as skip,an as skipWhen,yt as suiteSelectors,Qt as test,cn as warn};
|
|
1
|
+
export{enforce}from"n4s";import{isNullish as t,invariant as e,bindNot as n,either as s,assign as r,tinyState as i,cache as u,isNotNullish as o,isPositive as c,optionalFunctionValue as a,asArray as l,isStringValue as f,hasOwnProperty as d,deferThrow as E,isUndefined as N,seq as T,isPromise as h,isArray as S,callEach as m,bus as R,isFunction as I,numberEquals as v,defaultTo as p,isNull as D}from"vest-utils";import{createCascade as g}from"context";var A,y,C,_,O;!function(t){t[t.Immediate=0]="Immediate",t[t.Delayed=1]="Delayed"}(A||(A={})),function(t){t.DEFAULT="DEFAULT",t.TEST="TEST",t.SUITE="SUITE",t.EACH="EACH",t.GROUP="GROUP",t.SKIP_WHEN="SKIP_WHEN",t.OMIT_WHEN="OMIT_WHEN",t.TEST_MEMO="TEST_MEMO"}(y||(y={}));class P{static reconciler(e,n){return t(n),e}static reconcile(t,n){var s;const r=Vt(),i=xt();let u=i;r&&(u=null!==(s=null==i?void 0:i.at(qt()))&&void 0!==s?s:null);const o=this.reconciler(t,u);return e(o),Object.is(o,t)?[t,U(u,t,n)]:[o,o.output]}static removeAllNextNodesInIsolate(){const t=Vt(),e=xt();e&&t&&e.slice(qt())}static handleCollision(t,e){return t.usesKey()?this.handleIsolateNodeWithKey(t):(this.nodeReorderDetected(t,e)&&this.onNodeReorder(t,e),e||t)}static nodeReorderDetected(t,e){return!(null!=t?t:e)}static onNodeReorder(t,e){return this.removeAllNextNodesInIsolate(),null!=t?t:e}static handleIsolateNodeWithKey(n){e(n.usesKey());const s=function(e){var n;if(t(e))return null;const s=Lt.useX().historyNode;return null!==(n=null==s?void 0:s.keys[e])&&void 0!==n?n:null}(n.key);let r=n;return t(s)||(r=s),function(n,s){if(!n)return;const r=Vt();if(e(r,"Not within an active isolate"),t(r.keys[n]))return void(r.keys[n]=s);E(`Encountered the same test key "${n}" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted.`)}(n.key,n),r}}function U(t,e,n){const s=$t(),r=Lt.run(Object.assign({historyNode:t,runtimeNode:e},!s&&{runtimeRoot:e}),(()=>n(e)));return e.output=r,r}function L(t,e){return t.fieldName===e.fieldName&&t.groupName===e.groupName&&t.key===e.key}function k(t){return t===_.ERRORS?O.ERROR_COUNT:O.WARN_COUNT}function G(t,e){return!!e&&!W(t,e)}function W(t,e){return!(!e||t.fieldName!==e)}!function(t){t.HOOK_CALLED_OUTSIDE="hook called outside of a running suite.",t.EXPECTED_VEST_TEST="Expected value to be an instance of IsolateTest"}(C||(C={})),function(t){t.WARNINGS="warnings",t.ERRORS="errors"}(_||(_={})),function(t){t.ERROR_COUNT="errorCount",t.WARN_COUNT="warnCount"}(O||(O={}));const F=n((function(t,e){return t.groupName===e}));function X(t){return function(t,e){return Ot.someTests((n=>w(n,t,e)))}(_.ERRORS,t)}function w(t,e,n){return!!t.hasFailures()&&(!G(t,n)&&!function(t,e){return s(t===_.WARNINGS,e.warns())}(e,t))}var M;function K(){const[,t]=q();t(M.EAGER)}function b(){return function(t){const[e]=q();return e===t}(M.EAGER)}function H(t){return b()&&X(t.fieldName)}!function(t){t[t.ALL=0]="ALL",t[t.EAGER=1]="EAGER"}(M||(M={}));const x=g(((t,e)=>e?null:r({exclusion:{tests:{},groups:{}},inclusion:{},mode:i.createTinyState(M.ALL),testMemoCache:$},t)));function B(t){return x.useX(t).exclusion}function V(){return x.useX().inclusion}function q(){return x.useX().mode()}const $=u(10);class j{constructor(t,e){this.type=t,this.children=[],this.keys={},this.parent=null,this.key=null}setParent(t){return this.parent=t,this}saveOutput(t){return this.output=t,this}setKey(t){return this.key=t,this}usesKey(){return o(this.key)}addChild(t){e(this.children),this.children.push(t)}removeChild(t){var e,n;this.children=null!==(n=null===(e=this.children)||void 0===e?void 0:e.filter((e=>e!==t)))&&void 0!==n?n:null}slice(e){t(this.children)||(this.children.length=e)}at(t){var e,n;return null!==(n=null===(e=this.children)||void 0===e?void 0:e[t])&&void 0!==n?n:null}cursor(){var t,e;return null!==(e=null===(t=this.children)||void 0===t?void 0:t.length)&&void 0!==e?e:0}static create(t,e,n){return this.createImplementation(t,e,n)}static createImplementation(t,e,n){const s=Vt(),r=new this(t,n).setParent(s),[i,u]=this.reconciler.reconcile(r,e);return i.saveOutput(u),this.setNode(i),i}static setNode(t){Vt()?function(t){const n=Vt();e(n,"Not within an active isolate"),n.addChild(t)}(t):function(t){const e=Lt.useX(),[,n]=e.historyRoot();n(t)}(t)}static is(t){return t instanceof j}}function Y(t){return!!Jt(t)||!Ot.hasNoTests()&&(!X(t)&&(!function(t){return Ot.someIncompleteTests((e=>z(e,t)))}(t)&&function(t){return Ot.everyTest((e=>Q(e,t)))}(t)))}function J(t,e){return!!Jt(e)||!function(t,e,n){return Ot.someTests((s=>!F(s,e)&&w(s,t,n)))}(_.ERRORS,t,e)&&(!function(t,e){return Ot.someIncompleteTests((n=>!F(n,t)&&z(n,e)))}(t,e)&&function(t,e){return Ot.everyTest((n=>!!F(n,t)||Q(n,e)))}(t,e))}function z(t,e){return!G(t,e)&&Jt(e)}function Q(t,e){return!!G(t,e)||(function(t){return Mt(t.fieldName).type===A.Delayed&&t.awaitsResolution()}(t)||t.isTested()||t.isOmitted())}function Z(){const t=r({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{},valid:!1});return Ot.walkTests((e=>{!function(t,e){t[e.fieldName]=tt(t,e),t[e.fieldName].valid=!1!==t[e.fieldName].valid&&Y(e.fieldName)}(t.tests,e),function(t,e){const{groupName:n}=e;if(!n)return;t[n]=t[n]||{},t[n][e.fieldName]=tt(t[n],e),t[n][e.fieldName].valid=!1!==t[n][e.fieldName].valid&&J(n,e.fieldName)}(t.groups,e)})),t.valid=Y(),function(t){for(const e in t.tests)t.errorCount+=t.tests[e].errorCount,t.warnCount+=t.tests[e].warnCount,t.testCount+=t.tests[e].testCount;return t}(t)}function tt(t,e){const{fieldName:n,message:s}=e;t[n]=t[n]||r({errorCount:0,warnCount:0,testCount:0},{errors:[],warnings:[]});const i=t[n];return e.isNonActionable()||(t[n].testCount++,e.isFailing()?u(_.ERRORS):e.isWarning()&&u(_.WARNINGS)),i;function u(t){const e=k(t);i[e]++,s&&(i[t]=(i[t]||[]).concat(s))}}function et(t,e,n){return n?function(t,e,n){var s;return(null===(s=null==t?void 0:t[n])||void 0===s?void 0:s[e])||[]}(t,e,n):function(t,e){const n={},s=k(e);for(const r in t)c(t[r][s])&&(n[r]=t[r][e]||[]);return n}(t,e)}function nt(t){const e={getErrors:function(e){return st(t,_.ERRORS,e)},getErrorsByGroup:function(e,n){return rt(t,_.ERRORS,e,n)},getWarnings:function(e){return st(t,_.WARNINGS,e)},getWarningsByGroup:function(e,n){return rt(t,_.WARNINGS,e,n)},hasErrors:function(e){return ot(t,O.ERROR_COUNT,e)},hasErrorsByGroup:function(e,n){return ut(t,O.ERROR_COUNT,e,n)},hasWarnings:function(e){return ot(t,O.WARN_COUNT,e)},hasWarningsByGroup:function(e,n){return ut(t,O.WARN_COUNT,e,n)},isValid:function(e){var n;return e?Boolean(null===(n=t.tests[e])||void 0===n?void 0:n.valid):t.valid},isValidByGroup:function(e,n){const s=t.groups[e];if(!s)return!1;if(n)return it(s,n);for(const t in s)if(!it(s,t))return!1;return!0}};return e}function st(t,e,n){return et(t.tests,e,n)}function rt(t,e,n,s){return et(t.groups[n],e,s)}function it(t,e){var n;return!!(null===(n=t[e])||void 0===n?void 0:n.valid)}function ut(t,e,n,s){var r,i;const u=t.groups[n];if(!u)return!1;if(s)return c(null===(r=u[s])||void 0===r?void 0:r[e]);for(const t in u)if(c(null===(i=u[t])||void 0===i?void 0:i[e]))return!0;return!1}function ot(t,e,n){var s;const r=n?null===(s=t.tests[n])||void 0===s?void 0:s[e]:t[e]||0;return c(r)}function ct(){const t=Z(),e=Lt.useX().suiteName;return n=()=>r(t,nt(t),{suiteName:e}),(0,Lt.useX().suiteResultCache)([Bt()],n);var n}function at(t,e){j.create(y.SKIP_WHEN,(()=>{x.run({skipped:lt()||a(t,a(ct))},e)}))}function lt(){return null!==(t=x.useX().skipped)&&void 0!==t&&t;var t}function ft(t){return Nt(0,"tests",t)}function dt(t){return Nt(1,"tests",t)}function Et(t){const{fieldName:e,groupName:n}=t;if(lt())return!0;const s=B(),r=V(),i=s.tests,u=i[e];if(!1===u)return!0;const o=!0===u;if(n){if(function(t){const e=B().groups;if(d(e,t))return!1===e[t];return ht()}(n))return!0;if(!0===s.groups[n])return!o&&(!!Tt(i)||!1===i[e])}return!!function(t){if(!ht())return!1;return!t}(n)||!o&&(!!Tt(i)&&!a(r[e]))}function Nt(t,e,n){const s=B(C.HOOK_CALLED_OUTSIDE);n&&l(n).forEach((n=>{f(n)&&(s[e][n]=0===t)}))}function Tt(t){for(const e in t)if(!0===t[e])return!0;return!1}function ht(){const t=B();for(const e in t.groups)if(t.groups[e])return!0;return!1}function St(t,e){j.create(y.OMIT_WHEN,(()=>{x.run({omitted:mt()||a(t,a(ct))},e)}))}function mt(){return null!==(t=x.useX().omitted)&&void 0!==t&&t;var t}j.reconciler=P,ft.group=t=>Nt(0,"groups",t),dt.group=t=>Nt(1,"groups",t);var Rt,It;function vt(){return function(t){let e=t.initial;return{getState:function(){return e},transition:function(n,s){let r=t.states[e][n];if(Array.isArray(r)){const[,t]=r;if(!t(s))return;r=r[0]}r&&r!==e&&(e=r)}}}(pt)}!function(t){t.UNTESTED="UNTESTED",t.SKIPPED="SKIPPED",t.FAILED="FAILED",t.WARNING="WARNING",t.PASSING="PASSING",t.PENDING="PENDING",t.CANCELED="CANCELED",t.OMITTED="OMITTED"}(Rt||(Rt={})),function(t){t.RESET="RESET"}(It||(It={}));const pt={initial:Rt.UNTESTED,states:{[Rt.UNTESTED]:{[Rt.CANCELED]:Rt.CANCELED,[Rt.FAILED]:Rt.FAILED,[Rt.OMITTED]:Rt.OMITTED,[Rt.PASSING]:Rt.PASSING,[Rt.PENDING]:Rt.PENDING,[Rt.SKIPPED]:Rt.SKIPPED,[Rt.WARNING]:Rt.WARNING},[Rt.SKIPPED]:{[It.RESET]:Rt.UNTESTED},[Rt.FAILED]:{[It.RESET]:Rt.UNTESTED},[Rt.WARNING]:{[It.RESET]:Rt.UNTESTED},[Rt.PASSING]:{[It.RESET]:Rt.UNTESTED},[Rt.PENDING]:{[It.RESET]:Rt.UNTESTED,[Rt.CANCELED]:Rt.CANCELED,[Rt.FAILED]:Rt.FAILED,[Rt.OMITTED]:Rt.OMITTED,[Rt.PASSING]:Rt.PASSING,[Rt.SKIPPED]:[Rt.SKIPPED,t=>!0===t],[Rt.WARNING]:Rt.WARNING},[Rt.CANCELED]:{[It.RESET]:Rt.UNTESTED},[Rt.OMITTED]:{[It.RESET]:Rt.UNTESTED}}};class Dt extends j{constructor(t,{fieldName:e,testFn:n,message:s,groupName:r,key:i=null}){super(t),this.children=null,this.id=T(),this.severity=gt.Error,this.stateMachine=vt(),this.fieldName=e,this.testFn=n,r&&(this.groupName=r),s&&(this.message=s),this.setKey(i)}static factory(t,e){return super.create(y.TEST,t,e)}get status(){return this.stateMachine.getState()}setStatus(t,e){this.stateMachine.transition(t,e)}run(){let t;try{t=this.testFn()}catch(e){(function(t,e){return N(t)&&f(e)})(this.message,e)&&(this.message=e),t=!1}return!1===t&&this.fail(),t}warns(){return this.severity===gt.Warning}isPending(){return this.statusEquals(Rt.PENDING)}isOmitted(){return this.statusEquals(Rt.OMITTED)}isUntested(){return this.statusEquals(Rt.UNTESTED)}isFailing(){return this.statusEquals(Rt.FAILED)}isCanceled(){return this.statusEquals(Rt.CANCELED)}isSkipped(){return this.statusEquals(Rt.SKIPPED)}isPassing(){return this.statusEquals(Rt.PASSING)}isWarning(){return this.statusEquals(Rt.WARNING)}hasFailures(){return this.isFailing()||this.isWarning()}isNonActionable(){return this.isSkipped()||this.isOmitted()||this.isCanceled()}isTested(){return this.hasFailures()||this.isPassing()}awaitsResolution(){return this.isSkipped()||this.isUntested()||this.isPending()}statusEquals(t){return this.status===t}setPending(){this.setStatus(Rt.PENDING)}fail(){this.setStatus(this.warns()?Rt.WARNING:Rt.FAILED)}pass(){this.setStatus(Rt.PASSING)}warn(){this.severity=gt.Warning}skip(t){this.setStatus(Rt.SKIPPED,t)}cancel(){this.setStatus(Rt.CANCELED)}reset(){this.stateMachine.transition(It.RESET)}omit(){this.setStatus(Rt.OMITTED)}valueOf(){return!this.isFailing()}isAsyncTest(){return h(this.asyncTest)}static is(t){return t instanceof Dt}static isX(t){e(this.is(t))}}var gt,At;function yt(e,n,s){if(t(e.children))return;let r=!1;for(const u of e.children){if(r)return;if((t(s)||a(s,u))&&n(u,i),r)return;yt(u,((t,e)=>{n(t,(()=>{e(),i()}))}),s)}function i(){r=!0}}function Ct(t,e,n){let s=!1;return yt(t,((t,n)=>{e(t)&&(n(),s=!0)}),n),s}Dt.reconciler=class extends P{static reconciler(e,n){if(!Dt.is(e))return e;if(t(n))return this.handleNoHistoryNode(e);if(!Dt.is(n))return e;const s=this.pickNode(n,e);return function(t,e,n){t===e&&Dt.is(e)&&(r=e)!==(s=n)&&L(s,r)&&s.isPending()&&s.cancel();var s,r}(s,e,n),s}static nodeReorderDetected(t,e){return!!Dt.is(e)&&!L(e,t)}static handleCollision(t,e){return t.usesKey()?this.handleIsolateNodeWithKey(t):this.nodeReorderDetected(t,e)?this.onNodeReorder(t,e):e||t}static onNodeReorder(t,n){return function(t,n){if(function(t){const n=t.parent;return e(n),function(t,e){return t.type===e}(n,y.EACH)}(t))return;E(`Vest Critical Error: Tests called in different order than previous run.\n expected: ${t.fieldName}\n received: ${Dt.is(n)?n.fieldName:void 0}\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.`)}(t,n),this.removeAllNextNodesInIsolate(),t}static pickNode(t,e){const n=this.handleCollision(e,t);return H(e)?((s=e).skip(),s):(r=e,mt()||Jt(r.fieldName)?function(t){return t.omit(),t}(e):Et(e)?function(t){return t.skip(lt()),t}(n):e);var s,r}static handleNoHistoryNode(t){return t.usesKey()?this.handleIsolateNodeWithKey(t):t}},function(t){t.Error="error",t.Warning="warning"}(gt||(gt={}));class _t{static walk(t,e){const n=jt();n&&yt(n,t,e)}static some(t,e){const n=jt();return!!n&&Ct(n,t,e)}static has(t){const e=jt();return!!e&&function(t,e){return Ct(t,(()=>!0),e)}(e,t)}static find(t,e){const n=jt();return n?function(t,e,n){let s=null;return yt(t,((t,n)=>{e(t)&&(n(),s=t)}),n),s}(n,t,e):null}static every(t,e){const n=jt();return!!n&&function(t,e,n){let s=!0;return yt(t,((t,n)=>{e(t)||(n(),s=!1)}),n),s}(n,t,e)}static pluck(t,e){const n=jt();if(n)return function(t,e,n){yt(t,(t=>{e(t)&&t.parent&&t.parent.removeChild(t)}),n)}(n,t,e)}}class Ot{static hasNoTests(){return!_t.has(Dt.is)}static someIncompleteTests(t){return _t.some((e=>(Dt.isX(e),e.isPending()&&t(e))),Dt.is)}static someTests(t){return _t.some((e=>(Dt.isX(e),t(e))),Dt.is)}static everyTest(t){return _t.every((e=>(Dt.isX(e),t(e))),Dt.is)}static walkTests(t){_t.walk(((e,n)=>{Dt.isX(e),t(e,n)}),Dt.is)}static hasRemainingTests(t){return Ot.someIncompleteTests((e=>!t||W(e,t)))}static pluckTests(t){_t.pluck((e=>(Dt.isX(e),t(e))),Dt.is)}static resetField(t){Ot.walkTests((e=>{W(e,t)&&e.reset()}))}static removeTestByFieldName(t){Ot.pluckTests((e=>W(e,t)))}}function Pt(){const t=R.createBus();return e(At.TEST_COMPLETED,(e=>{e.isCanceled()||(e.pass(),function(t){const[e]=bt();t&&!Ot.hasRemainingTests(t)&&S(e[t])&&m(e[t])}(e.fieldName),Ot.hasRemainingTests()||t.emit(At.ALL_RUNNING_TESTS_FINISHED))})),e(At.TEST_RUN_STARTED,(()=>{})),e(At.ALL_RUNNING_TESTS_FINISHED,(()=>{!function(){const[t]=Kt();m(t)}()})),e(At.RESET_FIELD,(t=>{Ot.resetField(t)})),e(At.SUITE_RUN_STARTED,(()=>{Gt()})),e(At.REMOVE_FIELD,(t=>{Ot.removeTestByFieldName(t)})),e(At.RESET_SUITE,(()=>{!function(){Gt();const[,,t]=Ht();t()}()})),t;function e(e,n){t.on(e,((...t)=>{Lt.useX().suiteResultCache.invalidate([Bt()]),n(...t)}))}}!function(t){t.TEST_RUN_STARTED="test_run_started",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.RESET_SUITE="reset_suite",t.SUITE_CALLBACK_DONE_RUNNING="suite_callback_done_running",t.SUITE_RUN_STARTED="suite_run_started"}(At||(At={}));const Ut=u(),Lt=g(((t,n)=>{if(n)return null;e(t.historyRoot);const[s]=t.historyRoot(),i={};return r(i,{historyNode:s,optional:{},runtimeNode:null,runtimeRoot:null},t),i}));function kt(t){const e=Lt.useX();return function(...n){var s;const r=null!==(s=Lt.use())&&void 0!==s?s:e;return Lt.run(r,(()=>t(...n)))}}function Gt(){const[,,t]=Kt(),[,,e]=bt();t(),e()}function Wt(){return Lt.useX().VestBus}function Ft(){return kt(Wt().emit)}function Xt(t){const e=Ft();return n=>e(t,n)}function wt(){return Lt.useX().optional}function Mt(t){var e;return null!==(e=wt()[t])&&void 0!==e?e:{}}function Kt(){return Lt.useX().doneCallbacks()}function bt(){return Lt.useX().fieldCallbacks()}function Ht(){return Lt.useX().historyRoot()}function xt(){return Lt.useX().historyNode}function Bt(){return Lt.useX().suiteId}function Vt(){var t;return null!==(t=Lt.useX().runtimeNode)&&void 0!==t?t:null}function qt(){var t,e;return null!==(e=null===(t=Vt())||void 0===t?void 0:t.cursor())&&void 0!==e?e:0}function $t(){return Lt.useX().runtimeRoot}function jt(){const t=$t();if(t)return t;const[e]=Ht();return e}function Yt(t){if(S(t)||f(t))l(t).forEach((t=>{zt(t,(()=>({type:A.Delayed,applied:!1,rule:null})))}));else for(const e in t){const n=t[e];zt(e,(()=>({type:A.Immediate,rule:n,applied:a(n)})))}}function Jt(t){return!!t&&Mt(t).applied}function zt(t,e){const n=wt(),s=Mt(t);r(n,{[t]:r({},s,e(s))})}function Qt(){return r({},ct(),{done:kt(Zt)})}function Zt(...t){const[e,n]=t.reverse(),s=Qt();if(function(t,e,n){var s;return!!(!I(t)||e&&v(null===(s=n.tests[e])||void 0===s?void 0:s.testCount,0))}(e,n,s))return s;const i=()=>e(ct());return Ot.hasRemainingTests(n)?(function(t,e){const[,n]=bt(),[,s]=Kt();e?n((n=>r(n,{[e]:(n[e]||[]).concat(t)}))):s((e=>e.concat(t)))}(i,n),s):(i(),s)}function te(...t){const[n,s]=t.reverse();!function(t){e(I(t),"vest.create: Expected callback to be a function.")}(n);const u=function({suiteName:t}){return{VestBus:Pt(),doneCallbacks:i.createTinyState((()=>[])),fieldCallbacks:i.createTinyState((()=>({}))),historyRoot:i.createTinyState(null),optional:{},suiteId:T(),suiteName:t,suiteResultCache:Ut}}({suiteName:s});function o(...t){return x.run({},(()=>(Ft()(At.SUITE_RUN_STARTED),j.create(y.SUITE,function(...t){return()=>(n(...t),Qt())}(...t))))).output}return Lt.run(u,(()=>r(Lt.bind(u,o),{get:kt(ct),remove:Xt(At.REMOVE_FIELD),reset:Xt(At.RESET_SUITE),resetField:Xt(At.RESET_FIELD)})))}function ee(t,n){e(I(n),"each callback must be a function"),j.create(y.EACH,(()=>{t.forEach(((t,e)=>{n(t,e)}))}))}function ne(t,e){return j.create(y.GROUP,(()=>{x.run({groupName:t},e)}))}function se(t){const n=V(),s=B();return e(f(t)),n[t]=p(s.tests[t],!0),{when:function(e){const n=V(),s=B();n[t]=()=>d(s.tests,t)?p(s.tests[t],!0):f(e)?Boolean(s.tests[e]):a(e,a(ct))}}}function re(t){!function(t){H(t)?t.skip():mt()||Jt(t.fieldName)?t.omit():Et(t)&&t.skip(lt())}(t),t.isNonActionable()||(t.isUntested()?function(t){const e=Wt(),n=function(t){return x.run({currentTest:t},(()=>t.run()))}(t);try{h(n)?(t.asyncTest=n,t.setPending(),ie(t)):e.emit(At.TEST_COMPLETED,t)}catch(e){throw new Error(`Unexpected error encountered during test registration.\n Test Object: ${JSON.stringify(t)}.\n Error: ${e}.`)}}(t):t.isAsyncTest()&&(t.setPending(),ie(t)))}function ie(t){const{asyncTest:e,message:n}=t;if(!h(e))return;const s=Wt(),r=kt((()=>{s.emit(At.TEST_COMPLETED,t)})),i=kt((e=>{t.isCanceled()||(t.message=f(e)?e:n,t.fail(),r())}));e.then(r,i)}function ue(t,...n){const[s,r,i]=I(n[1])?n:[void 0,...n];e(f(t),ce("fieldName","string")),e(I(r),ce("callback","function"));const u={fieldName:t,groupName:x.useX().groupName,key:i,message:s,testFn:r};return Ft()(At.TEST_RUN_STARTED),function(t){return Dt.factory((t=>re(t)),t)}(u)}const oe=r(ue,{memo:function(t){return function(e,...n){const[s,r,i]=n.reverse();return function(t,e){const n=x.useX().testMemoCache,s=n.get(t);if(D(s))return n(t,e);const[,r]=s;if(r.isCanceled())return n.invalidate(t),n(t,e);return Dt.setNode(r),r}([Bt(),e,qt()].concat(s),(function(){return t(e,i,r)}))}}(ue)});function ce(t,e){return`Incompatible params passed to test function. Test ${t} must be a ${e}`}function ae(){const t=(n=C.HOOK_CALLED_OUTSIDE,x.useX(n).currentTest);var n;e(t,"warn called outside of a test."),t.warn()}export{te as create,ee as each,K as eager,ne as group,se as include,St as omitWhen,ft as only,Yt as optional,dt as skip,at as skipWhen,nt as suiteSelectors,oe as test,ae as warn};
|
|
@@ -1,33 +1,36 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
2
|
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('vest-utils'), require('vest')) :
|
|
3
3
|
typeof define === 'function' && define.amd ? define(['vest-utils', 'vest'], factory) :
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.classnames = factory(global[
|
|
5
|
-
}(this, (function (vestUtils, vest) { 'use strict';
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.classnames = factory(global["vest-utils"], global.vest));
|
|
5
|
+
})(this, (function (vestUtils, vest) { 'use strict';
|
|
6
6
|
|
|
7
|
-
// eslint-disable-next-line max-statements
|
|
8
7
|
function parse(summary) {
|
|
9
8
|
vestUtils.invariant(summary && vestUtils.hasOwnProperty(summary, 'valid'), "Vest parser: expected argument at position 0 to be Vest's result object.");
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
const sel = vest.suiteSelectors(summary);
|
|
10
|
+
const testedStorage = {};
|
|
11
|
+
const selectors = {
|
|
13
12
|
invalid: sel.hasErrors,
|
|
14
13
|
tested: isTested,
|
|
15
14
|
untested: isUntested,
|
|
16
15
|
valid: sel.isValid,
|
|
17
|
-
warning: sel.hasWarnings
|
|
16
|
+
warning: sel.hasWarnings,
|
|
18
17
|
};
|
|
19
18
|
return selectors;
|
|
20
19
|
// Booleans
|
|
21
20
|
function isTested(fieldName) {
|
|
22
|
-
if (
|
|
21
|
+
if (vestUtils.isNullish(fieldName)) {
|
|
23
22
|
return vestUtils.isPositive(summary.testCount);
|
|
24
23
|
}
|
|
25
|
-
if (vestUtils.hasOwnProperty(testedStorage, fieldName))
|
|
24
|
+
if (vestUtils.hasOwnProperty(testedStorage, fieldName)) {
|
|
26
25
|
return testedStorage[fieldName];
|
|
26
|
+
}
|
|
27
|
+
addFieldToTestedStorage(fieldName);
|
|
28
|
+
return selectors.tested(fieldName);
|
|
29
|
+
}
|
|
30
|
+
function addFieldToTestedStorage(fieldName) {
|
|
27
31
|
testedStorage[fieldName] =
|
|
28
32
|
vestUtils.hasOwnProperty(summary.tests, fieldName) &&
|
|
29
33
|
vestUtils.isPositive(summary.tests[fieldName].testCount);
|
|
30
|
-
return selectors.tested(fieldName);
|
|
31
34
|
}
|
|
32
35
|
function isUntested(fieldName) {
|
|
33
36
|
return !(vestUtils.isPositive(summary.testCount) && selectors.tested(fieldName));
|
|
@@ -37,14 +40,13 @@
|
|
|
37
40
|
/**
|
|
38
41
|
* Creates a function that returns class names that match the validation result
|
|
39
42
|
*/
|
|
40
|
-
function classnames(res, classes) {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
if (vestUtils.isFunction(selectors[sel]) && selectors[sel](key)) {
|
|
43
|
+
function classnames(res, classes = {}) {
|
|
44
|
+
const selectors = parse(res);
|
|
45
|
+
return function cn(fieldName) {
|
|
46
|
+
const classesArray = [];
|
|
47
|
+
for (const selector in classes) {
|
|
48
|
+
const sel = selector;
|
|
49
|
+
if (vestUtils.isFunction(selectors[sel]) && selectors[sel](fieldName)) {
|
|
48
50
|
classesArray.push(classes[sel]);
|
|
49
51
|
}
|
|
50
52
|
}
|
|
@@ -54,4 +56,4 @@
|
|
|
54
56
|
|
|
55
57
|
return classnames;
|
|
56
58
|
|
|
57
|
-
}))
|
|
59
|
+
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("vest-utils"),require("vest")):"function"==typeof define&&define.amd?define(["vest-utils","vest"],e):(t="undefined"!=typeof globalThis?globalThis:t||self).classnames=e(t["vest-utils"],t.vest)}(this,(function(t,e){"use strict";return function(s,n={}){const i=function(s){t.invariant(s&&t.hasOwnProperty(s,"valid"),"Vest parser: expected argument at position 0 to be Vest's result object.");const n=e.suiteSelectors(s),i={},o={invalid:n.hasErrors,tested:function(e){return t.isNullish(e)?t.isPositive(s.testCount):t.hasOwnProperty(i,e)?i[e]:(r(e),o.tested(e))},untested:function(e){return!(t.isPositive(s.testCount)&&o.tested(e))},valid:n.isValid,warning:n.hasWarnings};return o;function r(e){i[e]=t.hasOwnProperty(s.tests,e)&&t.isPositive(s.tests[e].testCount)}}(s);return function(e){const s=[];for(const o in n){const r=o;t.isFunction(i[r])&&i[r](e)&&s.push(n[r])}return s.join(" ")}}}));
|
|
@@ -1,63 +1,15 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}(this, (function (
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('n4s/compose')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define(['n4s/compose'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.compose = factory(global.compose));
|
|
5
|
+
})(this, (function (compose) { 'use strict';
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
var output = { pass: pass };
|
|
9
|
-
if (message) {
|
|
10
|
-
output.message = message;
|
|
11
|
-
}
|
|
12
|
-
return output;
|
|
13
|
-
}
|
|
14
|
-
function failing() {
|
|
15
|
-
return ruleReturn(false);
|
|
16
|
-
}
|
|
17
|
-
function passing() {
|
|
18
|
-
return ruleReturn(true);
|
|
19
|
-
}
|
|
20
|
-
function defaultToPassing(callback) {
|
|
21
|
-
return vestUtils.defaultTo(callback, passing());
|
|
22
|
-
}
|
|
7
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
23
8
|
|
|
24
|
-
|
|
25
|
-
try {
|
|
26
|
-
return lazyRule.run(currentValue);
|
|
27
|
-
}
|
|
28
|
-
catch (_a) {
|
|
29
|
-
return failing();
|
|
30
|
-
}
|
|
31
|
-
}
|
|
9
|
+
var compose__default = /*#__PURE__*/_interopDefaultLegacy(compose);
|
|
32
10
|
|
|
33
|
-
/* eslint-disable max-lines-per-function */
|
|
34
|
-
function compose() {
|
|
35
|
-
var composites = [];
|
|
36
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
37
|
-
composites[_i] = arguments[_i];
|
|
38
|
-
}
|
|
39
|
-
return vestUtils.assign(function (value) {
|
|
40
|
-
var res = run(value);
|
|
41
|
-
vestUtils.invariant(res.pass, vestUtils.StringObject(res.message));
|
|
42
|
-
}, {
|
|
43
|
-
run: run,
|
|
44
|
-
test: function (value) { return run(value).pass; }
|
|
45
|
-
});
|
|
46
|
-
function run(value) {
|
|
47
|
-
return n4s.ctx.run({ value: value }, function () {
|
|
48
|
-
return defaultToPassing(vestUtils.mapFirst(composites, function (composite, breakout) {
|
|
49
|
-
/* HACK: Just a small white lie. ~~HELP WANTED~~.
|
|
50
|
-
The ideal is that instead of `LazyRuleRunners` We would simply use `Lazy` to begin with.
|
|
51
|
-
The problem is that lazy rules can't really be passed to this function due to some generic hell
|
|
52
|
-
so we're limiting it to a small set of functions.
|
|
53
|
-
*/
|
|
54
|
-
var res = runLazyRule(composite, value);
|
|
55
|
-
breakout(!res.pass, res);
|
|
56
|
-
}));
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
11
|
|
|
61
|
-
return compose;
|
|
62
12
|
|
|
63
|
-
|
|
13
|
+
return compose__default["default"];
|
|
14
|
+
|
|
15
|
+
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
!function(e,o){"object"==typeof exports&&"undefined"!=typeof module?module.exports=o(require("n4s/compose")):"function"==typeof define&&define.amd?define(["n4s/compose"],o):(e="undefined"!=typeof globalThis?globalThis:e||self).compose=o(e.compose)}(this,(function(e){"use strict";function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}return o(e).default}));
|
|
@@ -1,95 +1,33 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}(this, (function (
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
function allOf(value) {
|
|
37
|
-
var rules = [];
|
|
38
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
39
|
-
rules[_i - 1] = arguments[_i];
|
|
40
|
-
}
|
|
41
|
-
return defaultToPassing(vestUtils.mapFirst(rules, function (rule, breakout) {
|
|
42
|
-
var res = runLazyRule(rule, value);
|
|
43
|
-
breakout(!res.pass, res);
|
|
44
|
-
}));
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
function anyOf(value) {
|
|
48
|
-
var rules = [];
|
|
49
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
50
|
-
rules[_i - 1] = arguments[_i];
|
|
51
|
-
}
|
|
52
|
-
return defaultToFailing(vestUtils.mapFirst(rules, function (rule, breakout) {
|
|
53
|
-
var res = runLazyRule(rule, value);
|
|
54
|
-
breakout(res.pass, res);
|
|
55
|
-
}));
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
function noneOf(value) {
|
|
59
|
-
var rules = [];
|
|
60
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
61
|
-
rules[_i - 1] = arguments[_i];
|
|
62
|
-
}
|
|
63
|
-
return defaultToPassing(vestUtils.mapFirst(rules, function (rule, breakout) {
|
|
64
|
-
var res = runLazyRule(rule, value);
|
|
65
|
-
breakout(res.pass, failing());
|
|
66
|
-
}));
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
function equals(value, arg1) {
|
|
70
|
-
return value === arg1;
|
|
71
|
-
}
|
|
72
|
-
vestUtils.bindNot(equals);
|
|
73
|
-
|
|
74
|
-
var REQUIRED_COUNT = 1;
|
|
75
|
-
function oneOf(value) {
|
|
76
|
-
var rules = [];
|
|
77
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
78
|
-
rules[_i - 1] = arguments[_i];
|
|
79
|
-
}
|
|
80
|
-
var passingCount = 0;
|
|
81
|
-
rules.some(function (rule) {
|
|
82
|
-
var res = runLazyRule(rule, value);
|
|
83
|
-
if (res.pass) {
|
|
84
|
-
passingCount++;
|
|
85
|
-
}
|
|
86
|
-
if (vestUtils.greaterThan(passingCount, REQUIRED_COUNT)) {
|
|
87
|
-
return false;
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
return ruleReturn(equals(passingCount, REQUIRED_COUNT));
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
n4s.enforce.extend({ allOf: allOf, anyOf: anyOf, noneOf: noneOf, oneOf: oneOf });
|
|
94
|
-
|
|
95
|
-
})));
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('n4s/compounds')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define(['exports', 'n4s/compounds'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.compounds = {}, global.compounds));
|
|
5
|
+
})(this, (function (exports, compounds) { 'use strict';
|
|
6
|
+
|
|
7
|
+
function _interopNamespace(e) {
|
|
8
|
+
if (e && e.__esModule) return e;
|
|
9
|
+
var n = Object.create(null);
|
|
10
|
+
if (e) {
|
|
11
|
+
Object.keys(e).forEach(function (k) {
|
|
12
|
+
if (k !== 'default') {
|
|
13
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
14
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: function () { return e[k]; }
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
n["default"] = e;
|
|
22
|
+
return Object.freeze(n);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
var compounds__namespace = /*#__PURE__*/_interopNamespace(compounds);
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
exports.compounds = compounds__namespace;
|
|
30
|
+
|
|
31
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
32
|
+
|
|
33
|
+
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("n4s/compounds")):"function"==typeof define&&define.amd?define(["exports","n4s/compounds"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).compounds={},e.compounds)}(this,(function(e,t){"use strict";function n(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var o=n(t);e.compounds=o,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
@@ -1,95 +1,33 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}(this, (function (exports,
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
return defaultToPassing(vestUtils.mapFirst(inputArray, function (currentValue, breakout, index) {
|
|
35
|
-
var res = n4s.ctx.run({ value: currentValue, set: true, meta: { index: index } }, function () { return runLazyRule(currentRule, currentValue); });
|
|
36
|
-
breakout(!res.pass, res);
|
|
37
|
-
}));
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
function loose(inputObject, shapeObject) {
|
|
41
|
-
var _loop_1 = function (key) {
|
|
42
|
-
var currentValue = inputObject[key];
|
|
43
|
-
var currentRule = shapeObject[key];
|
|
44
|
-
var res = n4s.ctx.run({ value: currentValue, set: true, meta: { key: key } }, function () {
|
|
45
|
-
return runLazyRule(currentRule, currentValue);
|
|
46
|
-
});
|
|
47
|
-
if (!res.pass) {
|
|
48
|
-
return { value: res };
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
for (var key in shapeObject) {
|
|
52
|
-
var state_1 = _loop_1(key);
|
|
53
|
-
if (typeof state_1 === "object")
|
|
54
|
-
return state_1.value;
|
|
55
|
-
}
|
|
56
|
-
return passing();
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
function optional(value, ruleChain) {
|
|
60
|
-
if (vestUtils.isNullish(value)) {
|
|
61
|
-
return passing();
|
|
62
|
-
}
|
|
63
|
-
return runLazyRule(ruleChain, value);
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
function shape(inputObject, shapeObject) {
|
|
67
|
-
var baseRes = loose(inputObject, shapeObject);
|
|
68
|
-
if (!baseRes.pass) {
|
|
69
|
-
return baseRes;
|
|
70
|
-
}
|
|
71
|
-
for (var key in inputObject) {
|
|
72
|
-
if (!vestUtils.hasOwnProperty(shapeObject, key)) {
|
|
73
|
-
return failing();
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
return passing();
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
// Help needed improving the typings of this file.
|
|
80
|
-
// Ideally, we'd be able to extend ShapeObject, but that's not possible.
|
|
81
|
-
function partial(shapeObject) {
|
|
82
|
-
var output = {};
|
|
83
|
-
for (var key in shapeObject) {
|
|
84
|
-
output[key] = n4s.enforce.optional(shapeObject[key]);
|
|
85
|
-
}
|
|
86
|
-
return output;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
n4s.enforce.extend({ isArrayOf: isArrayOf, loose: loose, optional: optional, shape: shape });
|
|
90
|
-
|
|
91
|
-
exports.partial = partial;
|
|
92
|
-
|
|
93
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
94
|
-
|
|
95
|
-
})));
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('n4s/schema')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define(['exports', 'n4s/schema'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.schema = {}, global.schema));
|
|
5
|
+
})(this, (function (exports, schema) { 'use strict';
|
|
6
|
+
|
|
7
|
+
function _interopNamespace(e) {
|
|
8
|
+
if (e && e.__esModule) return e;
|
|
9
|
+
var n = Object.create(null);
|
|
10
|
+
if (e) {
|
|
11
|
+
Object.keys(e).forEach(function (k) {
|
|
12
|
+
if (k !== 'default') {
|
|
13
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
14
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: function () { return e[k]; }
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
n["default"] = e;
|
|
22
|
+
return Object.freeze(n);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
var schema__namespace = /*#__PURE__*/_interopNamespace(schema);
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
exports.schema = schema__namespace;
|
|
30
|
+
|
|
31
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
32
|
+
|
|
33
|
+
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("n4s/schema")):"function"==typeof define&&define.amd?define(["exports","n4s/schema"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).schema={},e.schema)}(this,(function(e,t){"use strict";function n(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var r=n(t);e.schema=r,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
@@ -1,33 +1,36 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('vest'), require('vest
|
|
3
|
-
typeof define === 'function' && define.amd ? define(['exports', 'vest', 'vest
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.parser = {}, global
|
|
5
|
-
}(this, (function (exports,
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('vest-utils'), require('vest')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define(['exports', 'vest-utils', 'vest'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.parser = {}, global["vest-utils"], global.vest));
|
|
5
|
+
})(this, (function (exports, vestUtils, vest) { 'use strict';
|
|
6
6
|
|
|
7
|
-
// eslint-disable-next-line max-statements
|
|
8
7
|
function parse(summary) {
|
|
9
8
|
vestUtils.invariant(summary && vestUtils.hasOwnProperty(summary, 'valid'), "Vest parser: expected argument at position 0 to be Vest's result object.");
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
const sel = vest.suiteSelectors(summary);
|
|
10
|
+
const testedStorage = {};
|
|
11
|
+
const selectors = {
|
|
13
12
|
invalid: sel.hasErrors,
|
|
14
13
|
tested: isTested,
|
|
15
14
|
untested: isUntested,
|
|
16
15
|
valid: sel.isValid,
|
|
17
|
-
warning: sel.hasWarnings
|
|
16
|
+
warning: sel.hasWarnings,
|
|
18
17
|
};
|
|
19
18
|
return selectors;
|
|
20
19
|
// Booleans
|
|
21
20
|
function isTested(fieldName) {
|
|
22
|
-
if (
|
|
21
|
+
if (vestUtils.isNullish(fieldName)) {
|
|
23
22
|
return vestUtils.isPositive(summary.testCount);
|
|
24
23
|
}
|
|
25
|
-
if (vestUtils.hasOwnProperty(testedStorage, fieldName))
|
|
24
|
+
if (vestUtils.hasOwnProperty(testedStorage, fieldName)) {
|
|
26
25
|
return testedStorage[fieldName];
|
|
26
|
+
}
|
|
27
|
+
addFieldToTestedStorage(fieldName);
|
|
28
|
+
return selectors.tested(fieldName);
|
|
29
|
+
}
|
|
30
|
+
function addFieldToTestedStorage(fieldName) {
|
|
27
31
|
testedStorage[fieldName] =
|
|
28
32
|
vestUtils.hasOwnProperty(summary.tests, fieldName) &&
|
|
29
33
|
vestUtils.isPositive(summary.tests[fieldName].testCount);
|
|
30
|
-
return selectors.tested(fieldName);
|
|
31
34
|
}
|
|
32
35
|
function isUntested(fieldName) {
|
|
33
36
|
return !(vestUtils.isPositive(summary.testCount) && selectors.tested(fieldName));
|
|
@@ -38,4 +41,4 @@
|
|
|
38
41
|
|
|
39
42
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
40
43
|
|
|
41
|
-
}))
|
|
44
|
+
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vest-utils"),require("vest")):"function"==typeof define&&define.amd?define(["exports","vest-utils","vest"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).parser={},e["vest-utils"],e.vest)}(this,(function(e,t,s){"use strict";e.parse=function(e){t.invariant(e&&t.hasOwnProperty(e,"valid"),"Vest parser: expected argument at position 0 to be Vest's result object.");const i=s.suiteSelectors(e),n={},r={invalid:i.hasErrors,tested:function(s){if(t.isNullish(s))return t.isPositive(e.testCount);if(t.hasOwnProperty(n,s))return n[s];return o(s),r.tested(s)},untested:function(s){return!(t.isPositive(e.testCount)&&r.tested(s))},valid:i.isValid,warning:i.hasWarnings};return r;function o(s){n[s]=t.hasOwnProperty(e.tests,s)&&t.isPositive(e.tests[s].testCount)}},Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
@@ -1,20 +1,16 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
2
|
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('vest-utils')) :
|
|
3
3
|
typeof define === 'function' && define.amd ? define(['vest-utils'], factory) :
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.promisify = factory(global[
|
|
5
|
-
}(this, (function (vestUtils) { 'use strict';
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.promisify = factory(global["vest-utils"]));
|
|
5
|
+
})(this, (function (vestUtils) { 'use strict';
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
return
|
|
9
|
-
var args = [];
|
|
10
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
11
|
-
args[_i] = arguments[_i];
|
|
12
|
-
}
|
|
7
|
+
function promisify(validatorFn) {
|
|
8
|
+
return (...args) => {
|
|
13
9
|
vestUtils.invariant(vestUtils.isFunction(validatorFn), 'promisify: Expected validatorFn to be a function.');
|
|
14
|
-
return new Promise(
|
|
10
|
+
return new Promise(resolve => validatorFn(...args).done(resolve));
|
|
15
11
|
};
|
|
16
|
-
}
|
|
12
|
+
}
|
|
17
13
|
|
|
18
14
|
return promisify;
|
|
19
15
|
|
|
20
|
-
}))
|
|
16
|
+
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
!function(e,i){"object"==typeof exports&&"undefined"!=typeof module?module.exports=i(require("vest-utils")):"function"==typeof define&&define.amd?define(["vest-utils"],i):(e="undefined"!=typeof globalThis?globalThis:e||self).promisify=i(e["vest-utils"])}(this,(function(e){"use strict";return function(i){return(...t)=>(e.invariant(e.isFunction(i),"promisify: Expected validatorFn to be a function."),new Promise((e=>i(...t).done(e))))}}));
|