Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 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 37 38 | 12x 12x 12x 102x 12x | import { Completable, Config } from "@jonloucks/concurrency-ts/api/Completable";
import { Contract, createContract } from "@jonloucks/contracts-ts";
import { RequiredType, guardFunctions } from "@jonloucks/concurrency-ts/api/Types";
export { Completable, Config } from "@jonloucks/concurrency-ts/api/Completable";
/**
* Responsibility: Creating a new Completable
*/
export interface CompletableFactory {
/**
* Create a new Completable
*
* @param config the completable configuration
* @return the new Completable
* @param <T> the type of completion value
*/
createCompletable<T>(config?: Config<T>): Completable<T>
}
/**
* Determine if an instance implements CompletableFactory
*
* @param instance the instance to check
* @returns true if the instance implements CompletableFactory
*/
export function guard(instance: unknown): instance is RequiredType<CompletableFactory> {
return guardFunctions(instance, 'createCompletable');
}
/**
* The CompletableFactory contract
*/
export const CONTRACT: Contract<CompletableFactory> = createContract({
name: "CompletableFactory",
test: guard
}); |