UNPKG

1.04 kBTypeScriptView Raw
1// Type definitions for Shimmer 1.x
2// Project: https://github.com/othiym23/shimmer
3// Definitions by: Kelvin Jin <https://github.com/kjin>
4// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
5// TypeScript Version: 2.2
6
7declare global {
8 interface Function {
9 __wrapped?: boolean | undefined;
10 }
11}
12
13declare const shimmer: {
14 (options: { logger?(msg: string): void }): void;
15 wrap<Nodule extends object, FieldName extends keyof Nodule>(
16 nodule: Nodule,
17 name: FieldName,
18 wrapper: (original: Nodule[FieldName]) => Nodule[FieldName]
19 ): void;
20 massWrap<Nodule extends object, FieldName extends keyof Nodule>(
21 nodules: Nodule[],
22 names: FieldName[],
23 wrapper: (original: Nodule[FieldName]) => Nodule[FieldName]
24 ): void;
25 unwrap<Nodule extends object>(
26 nodule: Nodule,
27 name: keyof Nodule
28 ): void;
29 massUnwrap<Nodule extends object>(
30 nodules: Nodule[],
31 names: Array<keyof Nodule>
32 ): void;
33};
34
35export = shimmer;