1 | import * as fsTreeUtils from 'fs-tree-utils';
|
2 | import Tree = fsTreeUtils.Tree;
|
3 | export declare type PromiseFunc<X, Y> = (x: X) => Promise<Y>;
|
4 | export declare type SyncFunc<X, Y> = (x: X) => Y;
|
5 | export declare type SetupFunc<Y> = () => Promise<Y>;
|
6 | export declare type TeardownFunc<X> = (x: X) => Promise<void>;
|
7 | export declare type CalledFunc<X, Y> = PromiseFunc<X, Y>;
|
8 | export declare type SyncCalledFunc<X, Y> = SyncFunc<X, Y>;
|
9 | export declare type Tester = () => Promise<void>;
|
10 | export declare type AsyncTesterFactory<SM, MT> = (fn: CalledFunc<SM, MT>) => Tester;
|
11 | export declare type SyncTesterFactory<SM, MT> = (fn: SyncCalledFunc<SM, MT>) => Tester;
|
12 | export interface Config<SY, TX> {
|
13 | readonly setup: SetupFunc<SY>;
|
14 | readonly teardown: TeardownFunc<TX>;
|
15 | }
|
16 | export declare type TesterFactory<SM, MT> = AsyncTesterFactory<SM, MT> & {
|
17 | forAsync: AsyncTesterFactory<SM, MT>;
|
18 | forSync: SyncTesterFactory<SM, MT>;
|
19 | };
|
20 | export declare namespace base {
|
21 | function createFactory<SM, MT>({ setup, teardown }: Config<SM, MT>): TesterFactory<SM, MT>;
|
22 | }
|
23 | export declare const createFactory: typeof base.createFactory;
|
24 | export declare namespace virtualEnvironment {
|
25 | interface Info {
|
26 | readonly tree: Tree.Write.Node;
|
27 | readonly container: string;
|
28 | readonly previousWorkingDirectory: string;
|
29 | }
|
30 | function createFactory(tree: Tree.Write.Node, container?: string): {
|
31 | info: Info;
|
32 | apply: TesterFactory<Info, void>;
|
33 | };
|
34 | }
|
35 | export default createFactory;
|