@flemist/test-variants 1.0.3 → 1.0.5
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/bundle/browser.js
CHANGED
|
@@ -221,9 +221,9 @@ e=n.item,t.delete(n)}
|
|
|
221
221
|
if(e.abortSignal&&e.abortSignal.aborted)e.reject(e.abortSignal.reason);else try{
|
|
222
222
|
let t=e.func&&e.func(e.abortSignal)
|
|
223
223
|
;t&&"function"==typeof t.then&&(t=yield t),e.resolve(t)
|
|
224
|
-
}catch(t){e.reject(t)}}}))}}const
|
|
224
|
+
}catch(t){e.reject(t)}}}))}}const A=function(){
|
|
225
225
|
const t=new z;return function(e,n){
|
|
226
|
-
return t.run(void 0,e,n)}}();class
|
|
226
|
+
return t.run(void 0,e,n)}}();class E{
|
|
227
227
|
constructor(t){
|
|
228
228
|
if(this._maxSize=0,this._size=0,this._tickPromise=new x,!t)throw new Error("maxSize should be > 0")
|
|
229
229
|
;this._maxSize=t,
|
|
@@ -248,7 +248,7 @@ e.then((function(t){r&&r(),n(t)
|
|
|
248
248
|
})).catch(i),t&&(r=t.subscribe(i))})):e
|
|
249
249
|
}(t,this._tickPromise.promise)}holdWait(t,e,r,s){
|
|
250
250
|
if(t>this.maxSize)throw new Error(`holdCount (${t} > maxSize (${this.maxSize}))`)
|
|
251
|
-
;return s||(s=
|
|
251
|
+
;return s||(s=A),
|
|
252
252
|
this._priorityQueue.run((r=>n(this,void 0,void 0,(function*(){
|
|
253
253
|
for(;t>this._size;)yield this.tick(r),yield s(e,r)
|
|
254
254
|
;if(!this.hold(t))throw new Error("Unexpected behavior")
|
|
@@ -260,21 +260,22 @@ for(let s=0;s<t.length;s++){const i=t[s];if(i){
|
|
|
260
260
|
if(i.aborted){r.call(i);break}
|
|
261
261
|
n?(e||(e=new c,n.subscribe(r)),i.subscribe(r)):n=i
|
|
262
262
|
}}return e?e.signal:n||(new c).signal
|
|
263
|
-
}(j,P.signal),k=S,z=Object.keys(i),
|
|
264
|
-
;function F(t){var e=
|
|
263
|
+
}(j,P.signal),k=S,z=Object.keys(i),A=Object.values(i),T=z.length,O={}
|
|
264
|
+
;function F(t){var e=A[t]
|
|
265
265
|
;return"function"==typeof e&&(e=e(O)),e}
|
|
266
|
-
for(var I=[],R=[],M=0;M<
|
|
266
|
+
for(var I=[],R=[],M=0;M<T;M++)I[M]=-1,R[M]=[]
|
|
267
267
|
;R[0]=F(0);var C=0,D=0,G=!1,$=0;function q(t,e,s){
|
|
268
268
|
return n(this,void 0,void 0,(function(){var n
|
|
269
269
|
;return r(this,(function(r){switch(r.label){
|
|
270
270
|
case 0:
|
|
271
|
-
return P.abort(t),console.error("error variant: ".concat(e,"\r\n").concat(JSON.stringify(s,
|
|
272
|
-
|
|
273
|
-
|
|
271
|
+
return P.abort(t),console.error("error variant: ".concat(e,"\r\n").concat(JSON.stringify(s,(function(t,e){
|
|
272
|
+
return e&&"object"==typeof e&&!Array.isArray(e)&&e.constructor!==Object?e+"":e
|
|
273
|
+
}),2))),
|
|
274
|
+
console.error(t),n=Date.now(),Date.now()-n>50&&$<5?(console.log("DEBUG ITERATION: "+$),
|
|
274
275
|
G=!0,[4,V()]):[3,2];case 1:r.sent(),$++,r.label=2
|
|
275
276
|
;case 2:throw g&&g({iteration:e,variant:s,error:t
|
|
276
277
|
}),t}}))}))}
|
|
277
|
-
var N=Date.now(),U=N,W=C,Q=D,B=!0===x?Math.pow(2,31):!x||x<=0?1:x,J=B<=1?null:new
|
|
278
|
+
var N=Date.now(),U=N,W=C,Q=D,B=!0===x?Math.pow(2,31):!x||x<=0?1:x,J=B<=1?null:new E(B)
|
|
278
279
|
;function K(e,s,i){
|
|
279
280
|
return n(this,void 0,void 0,(function(){var n,o,l
|
|
280
281
|
;return r(this,(function(r){switch(r.label){
|
|
@@ -307,11 +308,11 @@ return J.release(1),[7];case 3:return[2]}}))
|
|
|
307
308
|
})),c.label=7;case 7:return[2]}}))},o.label=1
|
|
308
309
|
;case 1:
|
|
309
310
|
return(null==j?void 0:j.aborted)||!G&&!function(){
|
|
310
|
-
for(var t=
|
|
311
|
+
for(var t=T-1;t>=0;t--){var e=I[t]+1
|
|
311
312
|
;if(e<R[t].length){
|
|
312
|
-
for(I[t]=e,O[z[t]]=R[t][e],t++;t<
|
|
313
|
+
for(I[t]=e,O[z[t]]=R[t][e],t++;t<T;t++){var n=F(t)
|
|
313
314
|
;if(0===n.length)break;I[t]=0,R[t]=n,O[z[t]]=n[0]}
|
|
314
|
-
if(t>=
|
|
315
|
+
if(t>=T)return!0}}return!1}()?[3,3]:[5,t()]
|
|
315
316
|
;case 2:return o.sent(),[3,1];case 3:
|
|
316
317
|
return J?[4,J.holdWait(B)]:[3,5];case 4:
|
|
317
318
|
o.sent(),J.release(B),o.label=5;case 5:
|
package/dist/lib/index.d.ts
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export type { VariantsArgs, TestVariantsSetArgs, TestVariantsCall, TestVariantsCallParams } from './test-variants/createTestVariants';
|
|
2
|
+
export { createTestVariants } from './test-variants/createTestVariants';
|
|
@@ -67,7 +67,15 @@ function createTestVariants(test) {
|
|
|
67
67
|
function onError(error, iterations, variantArgs) {
|
|
68
68
|
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
69
69
|
abortControllerParallel.abort(error);
|
|
70
|
-
console.error(`error variant: ${iterations}\r\n${JSON.stringify(variantArgs,
|
|
70
|
+
console.error(`error variant: ${iterations}\r\n${JSON.stringify(variantArgs, (_, value) => {
|
|
71
|
+
if (value
|
|
72
|
+
&& typeof value === 'object'
|
|
73
|
+
&& !Array.isArray(value)
|
|
74
|
+
&& value.constructor !== Object) {
|
|
75
|
+
return value + '';
|
|
76
|
+
}
|
|
77
|
+
return value;
|
|
78
|
+
}, 2)}`);
|
|
71
79
|
console.error(error);
|
|
72
80
|
// rerun failed variant 5 times for debug
|
|
73
81
|
const time0 = Date.now();
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { IAbortSignalFast } from '@flemist/abort-controller-fast';
|
|
2
|
-
declare type VariantsArgs<TArgs> = {
|
|
2
|
+
export declare type VariantsArgs<TArgs> = {
|
|
3
3
|
[key in keyof TArgs]: TArgs[key][] | ((args: TArgs) => TArgs[key][]);
|
|
4
4
|
};
|
|
5
5
|
declare type PromiseOrValue<T> = Promise<T> | T;
|
|
6
|
-
declare type TestVariantsCall<TArgs> = (callParams?: TestVariantsCallParams<TArgs>) => PromiseOrValue<number>;
|
|
7
|
-
declare type TestVariantsSetArgs<TArgs> = <TAdditionalArgs>(args: VariantsArgs<{
|
|
6
|
+
export declare type TestVariantsCall<TArgs> = (callParams?: TestVariantsCallParams<TArgs>) => PromiseOrValue<number>;
|
|
7
|
+
export declare type TestVariantsSetArgs<TArgs> = <TAdditionalArgs>(args: VariantsArgs<{
|
|
8
8
|
[key in (keyof TAdditionalArgs | keyof TArgs)]: key extends keyof TArgs ? TArgs[key] : key extends keyof TAdditionalArgs ? TAdditionalArgs[key] : never;
|
|
9
9
|
}>) => TestVariantsCall<TArgs>;
|
|
10
10
|
export declare type TestVariantsCallParams<TArgs> = {
|
|
@@ -63,7 +63,15 @@ function createTestVariants(test) {
|
|
|
63
63
|
function onError(error, iterations, variantArgs) {
|
|
64
64
|
return __awaiter(this, void 0, void 0, function* () {
|
|
65
65
|
abortControllerParallel.abort(error);
|
|
66
|
-
console.error(`error variant: ${iterations}\r\n${JSON.stringify(variantArgs,
|
|
66
|
+
console.error(`error variant: ${iterations}\r\n${JSON.stringify(variantArgs, (_, value) => {
|
|
67
|
+
if (value
|
|
68
|
+
&& typeof value === 'object'
|
|
69
|
+
&& !Array.isArray(value)
|
|
70
|
+
&& value.constructor !== Object) {
|
|
71
|
+
return value + '';
|
|
72
|
+
}
|
|
73
|
+
return value;
|
|
74
|
+
}, 2)}`);
|
|
67
75
|
console.error(error);
|
|
68
76
|
// rerun failed variant 5 times for debug
|
|
69
77
|
const time0 = Date.now();
|