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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
| import extend = require("./index");
|
| // OK
|
| // Pass single `object`.
| extend({});
| extend([]);
| extend(() => {});
|
| // Pass single `object`, then `any`.
| extend({}, 0);
| extend({}, "");
| extend({}, false);
| extend({}, null);
| extend({}, undefined);
| extend({}, {});
| extend({}, []);
| extend({}, () => {});
|
| // Pass variadic args.
| extend({}, 0, "", false, null, undefined, {}, [], () => {});
|
| // Pass `boolean`, then single `object`.
| extend(true, {});
| extend(true, []);
| extend(true, () => {});
|
| // Pass `boolean`, single `object`, then `any`.
| extend(true, {}, 0);
| extend(true, {}, "");
| extend(true, {}, false);
| extend(true, {}, null);
| extend(true, {}, undefined);
| extend(true, {}, {});
| extend(true, {}, []);
| extend(true, {}, () => {});
|
| // Pass `boolean`, then variadic args.
| extend(true, {}, 0, "", false, null, undefined, {}, [], () => {});
|
| // Not OK
|
| // Incorrect extendee `object`.
| // @ts-expect-error
| extend();
| // @ts-expect-error
| extend(0);
| // @ts-expect-error
| extend("");
| // @ts-expect-error
| extend(false);
| // @ts-expect-error
| extend();
|
| // @ts-expect-error
| extend(true, 0);
| // @ts-expect-error
| extend(true, "");
| // @ts-expect-error
| extend(true, false);
| // @ts-expect-error
| extend(true);
|
|