UNPKG

1.49 kBTypeScriptView Raw
1// Type definitions for istanbul-lib-hook 2.0
2// Project: https://istanbul.js.org, https://github.com/istanbuljs/istanbuljs
3// Definitions by: Jason Cheatham <https://github.com/jason0x43>
4// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
5// TypeScript Version: 2.4
6
7export interface Options {
8 verbose: boolean;
9}
10
11export interface HookRequireOptions extends Options {
12 extensions: string[];
13 postLoadHook(filename: string): void;
14}
15
16export function hookRequire(
17 matcher: Matcher,
18 transformer: Transformer,
19 options?: Partial<HookRequireOptions>
20): () => void;
21
22export function hookCreateScript(
23 matcher: Matcher,
24 transformer: Transformer,
25 options?: Partial<Options>
26): void;
27
28export function unhookCreateScript(): void;
29
30export function hookRunInThisContext(
31 matcher: Matcher,
32 transformer: Transformer,
33 options?: Partial<Options>
34): void;
35
36export function unhookRunInThisContext(): void;
37
38export function hookRunInContext(
39 matcher: Matcher,
40 transformer: Transformer,
41 options?: Partial<HookRunInContextOptions>
42): void;
43
44export function unhookRunInContext(): void;
45
46export function unloadRequireCache(matcher: Matcher): void;
47
48export type Matcher = (filename: string) => boolean;
49export type Transformer = (code: string, options: TransformerOptions) => string;
50
51export interface TransformerOptions {
52 filename: string;
53}
54
55export interface HookRunInContextOptions extends Options {
56 coverageVariable: string;
57}