File: specedNoStackBlown.symbols

package info (click to toggle)
node-typescript 5.0.4%2Bds1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 459,140 kB
  • sloc: javascript: 1,972,754; makefile: 6; sh: 1
file content (158 lines) | stat: -rw-r--r-- 9,056 bytes parent folder | download | duplicates (4)
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
=== tests/cases/compiler/specedNoStackBlown.ts ===
// Type definitions for spected 0.7
// Project: https://github.com/25th-floor/spected
// Definitions by: Benjamin Makus <https://github.com/benneq>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.8

declare function spected<ROOTINPUT, SPEC extends SpecValue<ROOTINPUT, ROOTINPUT> = SpecValue<ROOTINPUT, ROOTINPUT>>(spec: SPEC, input: ROOTINPUT): Result<ROOTINPUT, SPEC>;
>spected : Symbol(spected, Decl(specedNoStackBlown.ts, 0, 0))
>ROOTINPUT : Symbol(ROOTINPUT, Decl(specedNoStackBlown.ts, 6, 25))
>SPEC : Symbol(SPEC, Decl(specedNoStackBlown.ts, 6, 35))
>SpecValue : Symbol(SpecValue, Decl(specedNoStackBlown.ts, 24, 115))
>ROOTINPUT : Symbol(ROOTINPUT, Decl(specedNoStackBlown.ts, 6, 25))
>ROOTINPUT : Symbol(ROOTINPUT, Decl(specedNoStackBlown.ts, 6, 25))
>SpecValue : Symbol(SpecValue, Decl(specedNoStackBlown.ts, 24, 115))
>ROOTINPUT : Symbol(ROOTINPUT, Decl(specedNoStackBlown.ts, 6, 25))
>ROOTINPUT : Symbol(ROOTINPUT, Decl(specedNoStackBlown.ts, 6, 25))
>spec : Symbol(spec, Decl(specedNoStackBlown.ts, 6, 116))
>SPEC : Symbol(SPEC, Decl(specedNoStackBlown.ts, 6, 35))
>input : Symbol(input, Decl(specedNoStackBlown.ts, 6, 127))
>ROOTINPUT : Symbol(ROOTINPUT, Decl(specedNoStackBlown.ts, 6, 25))
>Result : Symbol(Result, Decl(specedNoStackBlown.ts, 30, 75))
>ROOTINPUT : Symbol(ROOTINPUT, Decl(specedNoStackBlown.ts, 6, 25))
>SPEC : Symbol(SPEC, Decl(specedNoStackBlown.ts, 6, 35))

type Predicate<INPUT, ROOTINPUT> = (value: INPUT, inputs: ROOTINPUT) => boolean;
>Predicate : Symbol(Predicate, Decl(specedNoStackBlown.ts, 6, 171))
>INPUT : Symbol(INPUT, Decl(specedNoStackBlown.ts, 8, 15))
>ROOTINPUT : Symbol(ROOTINPUT, Decl(specedNoStackBlown.ts, 8, 21))
>value : Symbol(value, Decl(specedNoStackBlown.ts, 8, 36))
>INPUT : Symbol(INPUT, Decl(specedNoStackBlown.ts, 8, 15))
>inputs : Symbol(inputs, Decl(specedNoStackBlown.ts, 8, 49))
>ROOTINPUT : Symbol(ROOTINPUT, Decl(specedNoStackBlown.ts, 8, 21))

type ErrorMsg<INPUT> =
>ErrorMsg : Symbol(ErrorMsg, Decl(specedNoStackBlown.ts, 8, 80))
>INPUT : Symbol(INPUT, Decl(specedNoStackBlown.ts, 10, 14))

    | (string | number | boolean | symbol | null | undefined | object)
    | ((value: INPUT, field: string) => any);
>value : Symbol(value, Decl(specedNoStackBlown.ts, 12, 8))
>INPUT : Symbol(INPUT, Decl(specedNoStackBlown.ts, 10, 14))
>field : Symbol(field, Decl(specedNoStackBlown.ts, 12, 21))

export type Spec<INPUT, ROOTINPUT = any> = [Predicate<INPUT, ROOTINPUT>, ErrorMsg<INPUT>];
>Spec : Symbol(Spec, Decl(specedNoStackBlown.ts, 12, 45))
>INPUT : Symbol(INPUT, Decl(specedNoStackBlown.ts, 14, 17))
>ROOTINPUT : Symbol(ROOTINPUT, Decl(specedNoStackBlown.ts, 14, 23))
>Predicate : Symbol(Predicate, Decl(specedNoStackBlown.ts, 6, 171))
>INPUT : Symbol(INPUT, Decl(specedNoStackBlown.ts, 14, 17))
>ROOTINPUT : Symbol(ROOTINPUT, Decl(specedNoStackBlown.ts, 14, 23))
>ErrorMsg : Symbol(ErrorMsg, Decl(specedNoStackBlown.ts, 8, 80))
>INPUT : Symbol(INPUT, Decl(specedNoStackBlown.ts, 14, 17))

export type SpecArray<INPUT, ROOTINPUT = any> = Array<Spec<INPUT, ROOTINPUT>>;
>SpecArray : Symbol(SpecArray, Decl(specedNoStackBlown.ts, 14, 90))
>INPUT : Symbol(INPUT, Decl(specedNoStackBlown.ts, 16, 22))
>ROOTINPUT : Symbol(ROOTINPUT, Decl(specedNoStackBlown.ts, 16, 28))
>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
>Spec : Symbol(Spec, Decl(specedNoStackBlown.ts, 12, 45))
>INPUT : Symbol(INPUT, Decl(specedNoStackBlown.ts, 16, 22))
>ROOTINPUT : Symbol(ROOTINPUT, Decl(specedNoStackBlown.ts, 16, 28))

export type SpecFunction<INPUT, ROOTINPUT = any> = [INPUT] extends [ReadonlyArray<infer U>]
>SpecFunction : Symbol(SpecFunction, Decl(specedNoStackBlown.ts, 16, 78))
>INPUT : Symbol(INPUT, Decl(specedNoStackBlown.ts, 18, 25))
>ROOTINPUT : Symbol(ROOTINPUT, Decl(specedNoStackBlown.ts, 18, 31))
>INPUT : Symbol(INPUT, Decl(specedNoStackBlown.ts, 18, 25))
>ReadonlyArray : Symbol(ReadonlyArray, Decl(lib.es5.d.ts, --, --))
>U : Symbol(U, Decl(specedNoStackBlown.ts, 18, 87))

    ? (value: INPUT) => ReadonlyArray<SpecArray<U, ROOTINPUT>>
>value : Symbol(value, Decl(specedNoStackBlown.ts, 19, 7))
>INPUT : Symbol(INPUT, Decl(specedNoStackBlown.ts, 18, 25))
>ReadonlyArray : Symbol(ReadonlyArray, Decl(lib.es5.d.ts, --, --))
>SpecArray : Symbol(SpecArray, Decl(specedNoStackBlown.ts, 14, 90))
>U : Symbol(U, Decl(specedNoStackBlown.ts, 18, 87))
>ROOTINPUT : Symbol(ROOTINPUT, Decl(specedNoStackBlown.ts, 18, 31))

    : [INPUT] extends [object]
>INPUT : Symbol(INPUT, Decl(specedNoStackBlown.ts, 18, 25))

        ? (value: INPUT) => SpecObject<INPUT, ROOTINPUT>
>value : Symbol(value, Decl(specedNoStackBlown.ts, 21, 11))
>INPUT : Symbol(INPUT, Decl(specedNoStackBlown.ts, 18, 25))
>SpecObject : Symbol(SpecObject, Decl(specedNoStackBlown.ts, 22, 56))
>INPUT : Symbol(INPUT, Decl(specedNoStackBlown.ts, 18, 25))
>ROOTINPUT : Symbol(ROOTINPUT, Decl(specedNoStackBlown.ts, 18, 31))

        : (value: INPUT) => SpecArray<INPUT, ROOTINPUT>;
>value : Symbol(value, Decl(specedNoStackBlown.ts, 22, 11))
>INPUT : Symbol(INPUT, Decl(specedNoStackBlown.ts, 18, 25))
>SpecArray : Symbol(SpecArray, Decl(specedNoStackBlown.ts, 14, 90))
>INPUT : Symbol(INPUT, Decl(specedNoStackBlown.ts, 18, 25))
>ROOTINPUT : Symbol(ROOTINPUT, Decl(specedNoStackBlown.ts, 18, 31))

export type SpecObject<INPUT, ROOTINPUT = any> = Partial<{[key in keyof INPUT]: SpecValue<INPUT[key], ROOTINPUT>}>;
>SpecObject : Symbol(SpecObject, Decl(specedNoStackBlown.ts, 22, 56))
>INPUT : Symbol(INPUT, Decl(specedNoStackBlown.ts, 24, 23))
>ROOTINPUT : Symbol(ROOTINPUT, Decl(specedNoStackBlown.ts, 24, 29))
>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --))
>key : Symbol(key, Decl(specedNoStackBlown.ts, 24, 59))
>INPUT : Symbol(INPUT, Decl(specedNoStackBlown.ts, 24, 23))
>SpecValue : Symbol(SpecValue, Decl(specedNoStackBlown.ts, 24, 115))
>INPUT : Symbol(INPUT, Decl(specedNoStackBlown.ts, 24, 23))
>key : Symbol(key, Decl(specedNoStackBlown.ts, 24, 59))
>ROOTINPUT : Symbol(ROOTINPUT, Decl(specedNoStackBlown.ts, 24, 29))

export type SpecValue<INPUT, ROOTINPUT = any> = [INPUT] extends [ReadonlyArray<any>]
>SpecValue : Symbol(SpecValue, Decl(specedNoStackBlown.ts, 24, 115))
>INPUT : Symbol(INPUT, Decl(specedNoStackBlown.ts, 26, 22))
>ROOTINPUT : Symbol(ROOTINPUT, Decl(specedNoStackBlown.ts, 26, 28))
>INPUT : Symbol(INPUT, Decl(specedNoStackBlown.ts, 26, 22))
>ReadonlyArray : Symbol(ReadonlyArray, Decl(lib.es5.d.ts, --, --))

    ? SpecArray<INPUT, ROOTINPUT> | SpecFunction<INPUT, ROOTINPUT>
>SpecArray : Symbol(SpecArray, Decl(specedNoStackBlown.ts, 14, 90))
>INPUT : Symbol(INPUT, Decl(specedNoStackBlown.ts, 26, 22))
>ROOTINPUT : Symbol(ROOTINPUT, Decl(specedNoStackBlown.ts, 26, 28))
>SpecFunction : Symbol(SpecFunction, Decl(specedNoStackBlown.ts, 16, 78))
>INPUT : Symbol(INPUT, Decl(specedNoStackBlown.ts, 26, 22))
>ROOTINPUT : Symbol(ROOTINPUT, Decl(specedNoStackBlown.ts, 26, 28))

        : [INPUT] extends [object]
>INPUT : Symbol(INPUT, Decl(specedNoStackBlown.ts, 26, 22))

            ? SpecArray<INPUT, ROOTINPUT> | SpecFunction<INPUT, ROOTINPUT> | SpecObject<INPUT, ROOTINPUT>
>SpecArray : Symbol(SpecArray, Decl(specedNoStackBlown.ts, 14, 90))
>INPUT : Symbol(INPUT, Decl(specedNoStackBlown.ts, 26, 22))
>ROOTINPUT : Symbol(ROOTINPUT, Decl(specedNoStackBlown.ts, 26, 28))
>SpecFunction : Symbol(SpecFunction, Decl(specedNoStackBlown.ts, 16, 78))
>INPUT : Symbol(INPUT, Decl(specedNoStackBlown.ts, 26, 22))
>ROOTINPUT : Symbol(ROOTINPUT, Decl(specedNoStackBlown.ts, 26, 28))
>SpecObject : Symbol(SpecObject, Decl(specedNoStackBlown.ts, 22, 56))
>INPUT : Symbol(INPUT, Decl(specedNoStackBlown.ts, 26, 22))
>ROOTINPUT : Symbol(ROOTINPUT, Decl(specedNoStackBlown.ts, 26, 28))

            : SpecArray<INPUT, ROOTINPUT> | SpecFunction<INPUT, ROOTINPUT>;
>SpecArray : Symbol(SpecArray, Decl(specedNoStackBlown.ts, 14, 90))
>INPUT : Symbol(INPUT, Decl(specedNoStackBlown.ts, 26, 22))
>ROOTINPUT : Symbol(ROOTINPUT, Decl(specedNoStackBlown.ts, 26, 28))
>SpecFunction : Symbol(SpecFunction, Decl(specedNoStackBlown.ts, 16, 78))
>INPUT : Symbol(INPUT, Decl(specedNoStackBlown.ts, 26, 22))
>ROOTINPUT : Symbol(ROOTINPUT, Decl(specedNoStackBlown.ts, 26, 28))

export type Result<INPUT, SPEC> = {[key in keyof INPUT]: true | any[] | Result<INPUT[key], any>};
>Result : Symbol(Result, Decl(specedNoStackBlown.ts, 30, 75))
>INPUT : Symbol(INPUT, Decl(specedNoStackBlown.ts, 32, 19))
>SPEC : Symbol(SPEC, Decl(specedNoStackBlown.ts, 32, 25))
>key : Symbol(key, Decl(specedNoStackBlown.ts, 32, 36))
>INPUT : Symbol(INPUT, Decl(specedNoStackBlown.ts, 32, 19))
>Result : Symbol(Result, Decl(specedNoStackBlown.ts, 30, 75))
>INPUT : Symbol(INPUT, Decl(specedNoStackBlown.ts, 32, 19))
>key : Symbol(key, Decl(specedNoStackBlown.ts, 32, 36))

export default spected;
>spected : Symbol(spected, Decl(specedNoStackBlown.ts, 0, 0))