1
+ /// <reference path="fourslash.ts" />
2
+
3
+ // @strict : true
4
+ ////type __ = never;
5
+ ////
6
+ ////interface CurriedFunction1<T1, R> {
7
+ //// (): CurriedFunction1<T1, R>;
8
+ //// (t1: T1): R;
9
+ //// }
10
+ ////interface CurriedFunction2<T1, T2, R> {
11
+ //// (): CurriedFunction2<T1, T2, R>;
12
+ //// (t1: T1): CurriedFunction1<T2, R>;
13
+ //// (t1: __, t2: T2): CurriedFunction1<T1, R>;
14
+ //// (t1: T1, t2: T2): R;
15
+ //// }
16
+ ////
17
+ ////interface CurriedFunction3<T1, T2, T3, R> {
18
+ //// (): CurriedFunction3<T1, T2, T3, R>;
19
+ //// (t1: T1): CurriedFunction2<T2, T3, R>;
20
+ //// (t1: __, t2: T2): CurriedFunction2<T1, T3, R>;
21
+ //// (t1: T1, t2: T2): CurriedFunction1<T3, R>;
22
+ //// (t1: __, t2: __, t3: T3): CurriedFunction2<T1, T2, R>;
23
+ //// (t1: T1, t2: __, t3: T3): CurriedFunction1<T2, R>;
24
+ //// (t1: __, t2: T2, t3: T3): CurriedFunction1<T1, R>;
25
+ //// (t1: T1, t2: T2, t3: T3): R;
26
+ //// }
27
+ ////
28
+ ////interface CurriedFunction4<T1, T2, T3, T4, R> {
29
+ //// (): CurriedFunction4<T1, T2, T3, T4, R>;
30
+ //// (t1: T1): CurriedFunction3<T2, T3, T4, R>;
31
+ //// (t1: __, t2: T2): CurriedFunction3<T1, T3, T4, R>;
32
+ //// (t1: T1, t2: T2): CurriedFunction2<T3, T4, R>;
33
+ //// (t1: __, t2: __, t3: T3): CurriedFunction3<T1, T2, T4, R>;
34
+ //// (t1: __, t2: __, t3: T3): CurriedFunction2<T2, T4, R>;
35
+ //// (t1: __, t2: T2, t3: T3): CurriedFunction2<T1, T4, R>;
36
+ //// (t1: T1, t2: T2, t3: T3): CurriedFunction1<T4, R>;
37
+ //// (t1: __, t2: __, t3: __, t4: T4): CurriedFunction3<T1, T2, T3, R>;
38
+ //// (t1: T1, t2: __, t3: __, t4: T4): CurriedFunction2<T2, T3, R>;
39
+ //// (t1: __, t2: T2, t3: __, t4: T4): CurriedFunction2<T1, T3, R>;
40
+ //// (t1: __, t2: __, t3: T3, t4: T4): CurriedFunction2<T1, T2, R>;
41
+ //// (t1: T1, t2: T2, t3: __, t4: T4): CurriedFunction1<T3, R>;
42
+ //// (t1: T1, t2: __, t3: T3, t4: T4): CurriedFunction1<T2, R>;
43
+ //// (t1: __, t2: T2, t3: T3, t4: T4): CurriedFunction1<T1, R>;
44
+ //// (t1: T1, t2: T2, t3: T3, t4: T4): R;
45
+ //// }
46
+ ////
47
+ ////declare var curry: {
48
+ //// <T1, R>(func: (t1: T1) => R, arity?: number): CurriedFunction1<T1, R>;
49
+ //// <T1, T2, R>(func: (t1: T1, t2: T2) => R, arity?: number): CurriedFunction2<T1, T2, R>;
50
+ //// <T1, T2, T3, R>(func: (t1: T1, t2: T2, t3: T3) => R, arity?: number): CurriedFunction3<T1, T2, T3, R>;
51
+ //// <T1, T2, T3, T4, R>(func: (t1: T1, t2: T2, t3: T3, t4: T4) => R, arity?: number): CurriedFunction4<T1, T2, T3, T4, R>;
52
+ //// (func: (...args: any[]) => any, arity?: number): (...args: any[]) => any;
53
+ //// placeholder: __;
54
+ //// };
55
+ ////
56
+ ////export type StylingFunction = (
57
+ //// keys: (string | false | undefined) | (string | false | undefined)[],
58
+ //// ...rest: unknown[]
59
+ ////) => object;
60
+ ////
61
+ ////declare const getStylingByKeys: (
62
+ //// mergedStyling: object,
63
+ //// keys: (string | false | undefined) | (string | false | undefined)[],
64
+ //// ...args: unknown[]
65
+ ////) => object;
66
+ ////
67
+ ////declare var mergedStyling: object;
68
+ ////
69
+ ////export const createStyling: CurriedFunction3<
70
+ //// (base16Theme: object) => unknown,
71
+ //// object | undefined,
72
+ //// object | undefined,
73
+ //// StylingFunction
74
+ ////> = curry<
75
+ //// (base16Theme: object) => unknown,
76
+ //// object | undefined,
77
+ //// object | undefined,
78
+ //// StylingFunction
79
+ ////>(
80
+ //// (
81
+ //// getStylingFromBase16: (base16Theme: object) => unknown,
82
+ //// options: object = {},
83
+ //// themeOrStyling: object = {},
84
+ //// ...args
85
+ //// ): StylingFunction => {
86
+ //// return curry(getStylingByKeys, 2)(mergedStyling, .../**/args);
87
+ //// },
88
+ //// 3
89
+ ////);
90
+
91
+ verify . baselineQuickInfo ( ) ;
0 commit comments