liudong
2023-05-29 340f156319b863525e50e900c58e59b86ecb3d5e
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);