@hirez_io/auto-spies-core
Advanced tools
Comparing version 1.3.0 to 1.3.1
@@ -6,2 +6,13 @@ # Change Log | ||
## [1.3.1](https://github.com/hirezio/auto-spies/compare/@hirez_io/auto-spies-core@1.3.0...@hirez_io/auto-spies-core@1.3.1) (2020-12-14) | ||
### Bug Fixes | ||
* **global:** fix resolveWithPerCall delay issue ([a9eb17b](https://github.com/hirezio/auto-spies/commit/a9eb17bb3963702ac5f493acba32849d33c245d0)) | ||
# [1.3.0](https://github.com/hirezio/auto-spies/compare/@hirez_io/auto-spies-core@1.2.1...@hirez_io/auto-spies-core@1.3.0) (2020-12-13) | ||
@@ -8,0 +19,0 @@ |
@@ -23,2 +23,6 @@ import { Observable } from 'rxjs'; | ||
}; | ||
export declare type WrappedValueConfigPerCall<T = any> = { | ||
wrappedValue: Promise<T> | Observable<T>; | ||
delay?: number; | ||
}; | ||
export {}; |
@@ -1,2 +0,2 @@ | ||
import { Func } from '.'; | ||
import { Func, WrappedValueConfigPerCall } from '.'; | ||
import { Subject } from 'rxjs'; | ||
@@ -17,3 +17,3 @@ export interface CalledWithObject { | ||
_isRejectedPromise?: boolean; | ||
valuesPerCalls?: any[]; | ||
valuesPerCalls?: WrappedValueConfigPerCall[]; | ||
} | ||
@@ -20,0 +20,0 @@ export declare type CalledWithFrameworkMethodsDecorator<FrameworkSpecificType> = (calledWithObject: CalledWithObject, calledWithArgs: any[]) => CalledWithObject & FrameworkSpecificType; |
@@ -120,4 +120,15 @@ "use strict"; | ||
if ((_c = valueContainer.valuesPerCalls) === null || _c === void 0 ? void 0 : _c.length) { | ||
var valueForNextCall = valueContainer.valuesPerCalls.shift(); | ||
return valueForNextCall; | ||
var wrappedValueConfigForNextCall_1 = valueContainer.valuesPerCalls.shift(); | ||
var returnedValue = wrappedValueConfigForNextCall_1 === null || wrappedValueConfigForNextCall_1 === void 0 ? void 0 : wrappedValueConfigForNextCall_1.wrappedValue; | ||
if (wrappedValueConfigForNextCall_1 === null || wrappedValueConfigForNextCall_1 === void 0 ? void 0 : wrappedValueConfigForNextCall_1.delay) { | ||
// if it has a delay at this point, it must be a promise | ||
returnedValue = returnedValue.then(function (value) { | ||
return new Promise(function (resolve) { | ||
setTimeout(function () { | ||
resolve(value); | ||
}, wrappedValueConfigForNextCall_1.delay); | ||
}); | ||
}); | ||
} | ||
return returnedValue; | ||
} | ||
@@ -124,0 +135,0 @@ return valueContainer.value; |
@@ -32,3 +32,3 @@ "use strict"; | ||
if (valueContainer.valuesPerCalls) { | ||
valueContainer.valuesPerCalls.push(returnedObservable); | ||
valueContainer.valuesPerCalls.push({ wrappedValue: returnedObservable }); | ||
} | ||
@@ -35,0 +35,0 @@ }); |
@@ -21,12 +21,8 @@ "use strict"; | ||
returnedPromise_1 = Promise.resolve(valueConfiguration.value); | ||
if (valueConfiguration.delay) { | ||
returnedPromise_1 = new Promise(function (resolve) { | ||
setTimeout(function () { | ||
resolve(valueConfiguration.value); | ||
}, valueConfiguration.delay); | ||
}); | ||
} | ||
/* istanbul ignore else */ | ||
if (valueContainer.valuesPerCalls) { | ||
valueContainer.valuesPerCalls.push(returnedPromise_1); | ||
valueContainer.valuesPerCalls.push({ | ||
wrappedValue: returnedPromise_1, | ||
delay: valueConfiguration.delay, | ||
}); | ||
} | ||
@@ -33,0 +29,0 @@ }); |
{ | ||
"name": "@hirez_io/auto-spies-core", | ||
"version": "1.3.0", | ||
"version": "1.3.1", | ||
"publishConfig": { | ||
@@ -57,3 +57,3 @@ "access": "public" | ||
}, | ||
"gitHead": "b85d9ec76e18d5161a870e5c80e96edcdc0bbaac" | ||
"gitHead": "3035a89ec97765ba3832f67ae4594d406c980ab3" | ||
} |
@@ -34,1 +34,6 @@ import { Observable } from 'rxjs'; | ||
export type ValueConfigPerCall<T> = { value: T; delay?: number }; | ||
export type WrappedValueConfigPerCall<T = any> = { | ||
wrappedValue: Promise<T> | Observable<T>; | ||
delay?: number; | ||
}; |
@@ -7,2 +7,3 @@ import { | ||
Func, | ||
WrappedValueConfigPerCall, | ||
} from '.'; | ||
@@ -28,3 +29,3 @@ import deepEqual from 'deep-equal'; | ||
_isRejectedPromise?: boolean; | ||
valuesPerCalls?: any[]; | ||
valuesPerCalls?: WrappedValueConfigPerCall[]; | ||
} | ||
@@ -161,4 +162,16 @@ | ||
if (valueContainer.valuesPerCalls?.length) { | ||
const valueForNextCall = valueContainer.valuesPerCalls.shift(); | ||
return valueForNextCall; | ||
const wrappedValueConfigForNextCall = valueContainer.valuesPerCalls.shift(); | ||
let returnedValue = wrappedValueConfigForNextCall?.wrappedValue; | ||
if (wrappedValueConfigForNextCall?.delay) { | ||
// if it has a delay at this point, it must be a promise | ||
returnedValue = (returnedValue as Promise<any>).then( | ||
(value) => | ||
new Promise((resolve) => { | ||
setTimeout(() => { | ||
resolve(value); | ||
}, wrappedValueConfigForNextCall.delay); | ||
}) | ||
); | ||
} | ||
return returnedValue; | ||
} | ||
@@ -165,0 +178,0 @@ |
@@ -45,3 +45,3 @@ import { Observable, ReplaySubject } from 'rxjs'; | ||
if (valueContainer.valuesPerCalls) { | ||
valueContainer.valuesPerCalls.push(returnedObservable); | ||
valueContainer.valuesPerCalls.push({ wrappedValue: returnedObservable }); | ||
} | ||
@@ -48,0 +48,0 @@ }); |
@@ -31,12 +31,9 @@ import { | ||
returnedPromise = Promise.resolve(valueConfiguration.value); | ||
if (valueConfiguration.delay) { | ||
returnedPromise = new Promise((resolve) => { | ||
setTimeout(() => { | ||
resolve(valueConfiguration.value); | ||
}, valueConfiguration.delay); | ||
}); | ||
} | ||
/* istanbul ignore else */ | ||
if (valueContainer.valuesPerCalls) { | ||
valueContainer.valuesPerCalls.push(returnedPromise); | ||
valueContainer.valuesPerCalls.push({ | ||
wrappedValue: returnedPromise, | ||
delay: valueConfiguration.delay, | ||
}); | ||
} | ||
@@ -43,0 +40,0 @@ }); |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
223693
1217