@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.
@@ -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 E=function(){
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 T{
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=E),
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),E=Object.values(i),A=z.length,O={}
264
- ;function F(t){var e=E[t]
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<A;M++)I[M]=-1,R[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,null,2))),
272
- console.error(t),
273
- n=Date.now(),Date.now()-n>50&&$<5?(console.log("DEBUG ITERATION: "+$),
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 T(B)
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=A-1;t>=0;t--){var e=I[t]+1
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<A;t++){var n=F(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>=A)return!0}}return!1}()?[3,3]:[5,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:
@@ -1 +1,2 @@
1
- export { createTestVariants, } from './test-variants/createTestVariants';
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, null, 2)}`);
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, null, 2)}`);
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();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flemist/test-variants",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
4
4
  "description": "Runs a test function with all possible combinations of its parameters.",
5
5
  "main": "dist/lib/index.cjs",
6
6
  "module": "dist/lib/index.mjs",