@powerlines/deepkit 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +294 -0
  3. package/bin/deepkit-install.cjs +154 -0
  4. package/dist/vendor/chunk-6PEHRAEP.js +30 -0
  5. package/dist/vendor/chunk-6PEHRAEP.js.map +1 -0
  6. package/dist/vendor/chunk-6RPJLSJ7.cjs +44 -0
  7. package/dist/vendor/chunk-6RPJLSJ7.cjs.map +1 -0
  8. package/dist/vendor/chunk-7MWDRXRC.cjs +3861 -0
  9. package/dist/vendor/chunk-7MWDRXRC.cjs.map +1 -0
  10. package/dist/vendor/chunk-AXYJRGEC.js +3706 -0
  11. package/dist/vendor/chunk-AXYJRGEC.js.map +1 -0
  12. package/dist/vendor/chunk-BMYCXG6Q.js +7066 -0
  13. package/dist/vendor/chunk-BMYCXG6Q.js.map +1 -0
  14. package/dist/vendor/chunk-IEOTB37Y.js +3515 -0
  15. package/dist/vendor/chunk-IEOTB37Y.js.map +1 -0
  16. package/dist/vendor/chunk-MFEKHQA3.cjs +3533 -0
  17. package/dist/vendor/chunk-MFEKHQA3.cjs.map +1 -0
  18. package/dist/vendor/chunk-ORGCWC7F.js +111 -0
  19. package/dist/vendor/chunk-ORGCWC7F.js.map +1 -0
  20. package/dist/vendor/chunk-RPJZ57R3.cjs +117 -0
  21. package/dist/vendor/chunk-RPJZ57R3.cjs.map +1 -0
  22. package/dist/vendor/chunk-YVTAKAMT.cjs +7080 -0
  23. package/dist/vendor/chunk-YVTAKAMT.cjs.map +1 -0
  24. package/dist/vendor/compiler.cjs +46 -0
  25. package/dist/vendor/compiler.cjs.map +1 -0
  26. package/dist/vendor/compiler.d.cts +3 -0
  27. package/dist/vendor/compiler.d.ts +3 -0
  28. package/dist/vendor/compiler.js +7 -0
  29. package/dist/vendor/compiler.js.map +1 -0
  30. package/dist/vendor/config.cjs +37 -0
  31. package/dist/vendor/config.cjs.map +1 -0
  32. package/dist/vendor/config.d.cts +1 -0
  33. package/dist/vendor/config.d.ts +1 -0
  34. package/dist/vendor/config.js +7 -0
  35. package/dist/vendor/config.js.map +1 -0
  36. package/dist/vendor/core.cjs +518 -0
  37. package/dist/vendor/core.cjs.map +1 -0
  38. package/dist/vendor/core.d.cts +3 -0
  39. package/dist/vendor/core.d.ts +3 -0
  40. package/dist/vendor/core.js +4 -0
  41. package/dist/vendor/core.js.map +1 -0
  42. package/dist/vendor/index.cjs +108 -0
  43. package/dist/vendor/index.cjs.map +1 -0
  44. package/dist/vendor/index.d.cts +1 -0
  45. package/dist/vendor/index.d.ts +1 -0
  46. package/dist/vendor/index.js +67 -0
  47. package/dist/vendor/index.js.map +1 -0
  48. package/dist/vendor/type-spec.cjs +18 -0
  49. package/dist/vendor/type-spec.cjs.map +1 -0
  50. package/dist/vendor/type-spec.d.cts +1 -0
  51. package/dist/vendor/type-spec.d.ts +1 -0
  52. package/dist/vendor/type-spec.js +4 -0
  53. package/dist/vendor/type-spec.js.map +1 -0
  54. package/dist/vendor/type.cjs +18887 -0
  55. package/dist/vendor/type.cjs.map +1 -0
  56. package/dist/vendor/type.d.cts +1 -0
  57. package/dist/vendor/type.d.ts +1 -0
  58. package/dist/vendor/type.js +18361 -0
  59. package/dist/vendor/type.js.map +1 -0
  60. package/package.json +142 -0
  61. package/schemas/reflection.capnp +406 -0
  62. package/schemas/reflection.cjs +4218 -0
  63. package/schemas/reflection.d.cts +1611 -0
  64. package/schemas/reflection.d.ts +1611 -0
  65. package/schemas/reflection.js +4153 -0
package/package.json ADDED
@@ -0,0 +1,142 @@
1
+ {
2
+ "name": "@powerlines/deepkit",
3
+ "version": "0.1.0",
4
+ "type": "module",
5
+ "description": "A package containing a Powerlines plugin to assist in developing other Powerlines plugins.",
6
+ "repository": {
7
+ "type": "github",
8
+ "url": "https://github.com/storm-software/powerlines.git",
9
+ "directory": "packages/deepkit"
10
+ },
11
+ "homepage": "https://stormsoftware.com",
12
+ "bugs": {
13
+ "url": "https://stormsoftware.com/support",
14
+ "email": "support@stormsoftware.com"
15
+ },
16
+ "author": {
17
+ "name": "Storm Software",
18
+ "email": "contact@stormsoftware.com",
19
+ "url": "https://stormsoftware.com"
20
+ },
21
+ "maintainers": [
22
+ {
23
+ "name": "Storm Software",
24
+ "email": "contact@stormsoftware.com",
25
+ "url": "https://stormsoftware.com"
26
+ }
27
+ ],
28
+ "contributors": [
29
+ {
30
+ "name": "Storm Software",
31
+ "email": "contact@stormsoftware.com",
32
+ "url": "https://stormsoftware.com"
33
+ }
34
+ ],
35
+ "funding": {
36
+ "type": "github",
37
+ "url": "https://github.com/sponsors/storm-software"
38
+ },
39
+ "license": "Apache-2.0",
40
+ "private": false,
41
+ "bin": { "deepkit-install": "bin/deepkit-install.cjs" },
42
+ "main": "dist/index.cjs",
43
+ "module": "dist/index.js",
44
+ "exports": {
45
+ "./package.json": "./package.json",
46
+ ".": {
47
+ "import": { "types": "./dist/index.d.ts", "default": "./dist/index.js" },
48
+ "require": {
49
+ "types": "./dist/index.d.cts",
50
+ "default": "./dist/index.cjs"
51
+ },
52
+ "default": { "types": "./dist/index.d.ts", "default": "./dist/index.js" }
53
+ },
54
+ "./index": {
55
+ "import": { "types": "./dist/index.d.ts", "default": "./dist/index.js" },
56
+ "require": {
57
+ "types": "./dist/index.d.cts",
58
+ "default": "./dist/index.cjs"
59
+ },
60
+ "default": { "types": "./dist/index.d.ts", "default": "./dist/index.js" }
61
+ },
62
+ "./*": {
63
+ "import": { "types": "./dist/*.d.ts", "default": "./dist/*.js" },
64
+ "require": { "types": "./dist/*.d.cts", "default": "./dist/*.cjs" },
65
+ "default": { "types": "./dist/*.d.ts", "default": "./dist/*.js" }
66
+ },
67
+ "./vendor/*": {
68
+ "import": {
69
+ "types": "./dist/vendor/*.d.ts",
70
+ "default": "./dist/vendor/*.js"
71
+ },
72
+ "require": {
73
+ "types": "./dist/vendor/*.d.cts",
74
+ "default": "./dist/vendor/*.cjs"
75
+ },
76
+ "default": {
77
+ "types": "./dist/vendor/*.d.ts",
78
+ "default": "./dist/vendor/*.js"
79
+ }
80
+ },
81
+ "./vendor/type-compiler": {
82
+ "import": {
83
+ "types": "./dist/vendor/type-compiler/index.d.ts",
84
+ "default": "./dist/vendor/type-compiler/index.js"
85
+ },
86
+ "require": {
87
+ "types": "./dist/vendor/type-compiler/index.d.cts",
88
+ "default": "./dist/vendor/type-compiler/index.cjs"
89
+ },
90
+ "default": {
91
+ "types": "./dist/vendor/type-compiler/index.d.ts",
92
+ "default": "./dist/vendor/type-compiler/index.js"
93
+ }
94
+ },
95
+ "./vendor/type-compiler/*": {
96
+ "import": {
97
+ "types": "./dist/vendor/type-compiler/*.d.ts",
98
+ "default": "./dist/vendor/type-compiler/*.js"
99
+ },
100
+ "require": {
101
+ "types": "./dist/vendor/type-compiler/*.d.cts",
102
+ "default": "./dist/vendor/type-compiler/*.cjs"
103
+ },
104
+ "default": {
105
+ "types": "./dist/vendor/type-compiler/*.d.ts",
106
+ "default": "./dist/vendor/type-compiler/*.js"
107
+ }
108
+ },
109
+ "./schemas/*": {
110
+ "import": { "types": "./schemas/*.d.ts", "default": "./schemas/*.js" },
111
+ "require": { "types": "./schemas/*.d.cts", "default": "./schemas/*.cjs" },
112
+ "default": { "types": "./schemas/*.d.ts", "default": "./schemas/*.js" }
113
+ }
114
+ },
115
+ "typings": "dist/index.d.ts",
116
+ "files": ["dist/**/*", "bin/*", "schemas/*"],
117
+ "keywords": ["deepkit", "powerlines", "storm-software"],
118
+ "dependencies": {
119
+ "@storm-software/config-tools": "^1.188.11",
120
+ "@stryke/fs": "^0.32.2",
121
+ "@stryke/path": "^0.16.0",
122
+ "@stryke/type-checks": "^0.3.10",
123
+ "@stryke/types": "^0.10.0",
124
+ "@stryke/capnp": "^0.12.2",
125
+ "chalk": "^5.6.2",
126
+ "defu": "^6.1.4",
127
+ "jiti": "^2.6.1",
128
+ "powerlines": "^0.8.0",
129
+ "typescript": "^5.9.3",
130
+ "unplugin": "^2.3.10"
131
+ },
132
+ "devDependencies": {
133
+ "@deepkit/core": "1.0.5",
134
+ "@deepkit/type": "1.0.5",
135
+ "@deepkit/type-compiler": "1.0.5",
136
+ "@deepkit/type-spec": "1.0.1",
137
+ "@powerlines/nx": "^0.7.0",
138
+ "@types/node": "^22.18.12"
139
+ },
140
+ "publishConfig": { "access": "public" },
141
+ "gitHead": "02e58c1eac13954a4c045d87c25dd9687e907dea"
142
+ }
@@ -0,0 +1,406 @@
1
+ @0xae3c363dcecf2729;
2
+
3
+ using TypeId = UInt32;
4
+
5
+ enum ReflectionKind {
6
+ never @0;
7
+ any @1;
8
+ unknown @2;
9
+ void @3;
10
+ object @4;
11
+ string @5;
12
+ number @6;
13
+ boolean @7;
14
+ symbol @8;
15
+ bigint @9;
16
+ null @10;
17
+ undefined @11;
18
+ regexp @12;
19
+ literal @13;
20
+ templateLiteral @14;
21
+ property @15;
22
+ method @16;
23
+ function @17;
24
+ parameter @18;
25
+ promise @19;
26
+ class @20;
27
+ typeParameter @21;
28
+ enum @22;
29
+ union @23;
30
+ intersection @24;
31
+ array @25;
32
+ tuple @26;
33
+ tupleMember @27;
34
+ enumMember @28;
35
+ rest @29;
36
+ objectLiteral @30;
37
+ indexSignature @31;
38
+ propertySignature @32;
39
+ methodSignature @33;
40
+ infer @34;
41
+ callSignature @35;
42
+ }
43
+
44
+ enum ReflectionVisibility {
45
+ public @0;
46
+ protected @1;
47
+ private @2;
48
+ }
49
+
50
+ struct TagsReflection {
51
+ alias @0 :List(Text);
52
+ title @1 :Text;
53
+ hidden @2 :Bool;
54
+ readonly @3 :Bool;
55
+ ignore @4 :Bool;
56
+ internal @5 :Bool;
57
+ permission @6 :List(Text);
58
+ domain @7 :Text;
59
+ }
60
+
61
+ struct DefaultValueReflection {
62
+ value :union {
63
+ undefined @0 :Void;
64
+ boolean @1 :Bool;
65
+ integer @2 :Int32;
66
+ float @3 :Float64;
67
+ string @4 :Text;
68
+ }
69
+ }
70
+
71
+ struct SerializedTypeReference {
72
+ id @0 :TypeId;
73
+ }
74
+
75
+ struct IndexAccessOrigin {
76
+ container @0 :SerializedTypeReference;
77
+ index @1 :SerializedTypeReference;
78
+ }
79
+
80
+ struct EntityOptions {
81
+ struct EntityIndexOptions {
82
+ names @0 :List(Text);
83
+ options @1 :Text; # JSON stringified options
84
+ }
85
+
86
+ name @0 :Text;
87
+ description @1 :Text;
88
+ collection @2 :Text;
89
+ database @3 :Text;
90
+ singleTableInheritance @4 :Bool;
91
+ indexes @5 :List(EntityIndexOptions);
92
+ }
93
+
94
+ struct SerializedTypeObjectLiteral {
95
+ typeName @0 :Text;
96
+ typeArguments @1 :List(SerializedTypeReference);
97
+ indexAccessOrigin @2 :IndexAccessOrigin;
98
+ decorators @3 :List(SerializedTypeReference);
99
+ kind @4 :ReflectionKind;
100
+ types @5 :List(SerializedTypeReference);
101
+ tags @6 :TagsReflection;
102
+ }
103
+
104
+ struct SerializedTypeClassType {
105
+ typeName @0 :Text;
106
+ typeArguments @1 :List(SerializedTypeReference);
107
+ indexAccessOrigin @2 :IndexAccessOrigin;
108
+ decorators @3 :List(SerializedTypeReference);
109
+ kind @4 :ReflectionKind;
110
+ name @5 :Text;
111
+ globalObject @6 :Bool;
112
+ classType @7 :Text;
113
+ extendsArguments @8 :List(SerializedTypeReference);
114
+ arguments @9 :List(SerializedTypeReference);
115
+ superClass @10 :SerializedTypeReference;
116
+ types @11 :List(SerializedTypeReference);
117
+ tags @12 :TagsReflection;
118
+ }
119
+
120
+ struct SerializedTypeParameter {
121
+ typeName @0 :Text;
122
+ typeArguments @1 :List(SerializedTypeReference);
123
+ indexAccessOrigin @2 :IndexAccessOrigin;
124
+ decorators @3 :List(SerializedTypeReference);
125
+ kind @4 :ReflectionKind;
126
+ name @5 :Text;
127
+ type @6 :SerializedTypeReference;
128
+ visibility @7 :ReflectionVisibility;
129
+ readonly @8 :Bool;
130
+ optional @9 :Bool;
131
+ default @10 :DefaultValueReflection;
132
+ tags @11 :TagsReflection;
133
+ }
134
+
135
+ struct SerializedTypeMethod {
136
+ typeName @0 :Text;
137
+ typeArguments @1 :List(SerializedTypeReference);
138
+ indexAccessOrigin @2 :IndexAccessOrigin;
139
+ decorators @3 :List(SerializedTypeReference);
140
+ visibility @4 :ReflectionVisibility;
141
+ abstract @5 :Bool;
142
+ optional @6 :Bool;
143
+ readonly @7 :Bool;
144
+ tags @8 :TagsReflection;
145
+ kind @9 :ReflectionKind;
146
+ name @10 :Text;
147
+ parameters @11 :List(SerializedTypeParameter);
148
+ return @12 :SerializedTypeReference;
149
+ }
150
+
151
+ struct SerializedTypeProperty {
152
+ typeName @0 :Text;
153
+ typeArguments @1 :List(SerializedTypeReference);
154
+ indexAccessOrigin @2 :IndexAccessOrigin;
155
+ decorators @3 :List(SerializedTypeReference);
156
+ visibility @4 :ReflectionVisibility;
157
+ abstract @5 :Bool;
158
+ optional @6 :Bool;
159
+ readonly @7 :Bool;
160
+ tags @8 :TagsReflection;
161
+ kind @9 :ReflectionKind;
162
+ name @10 :Text;
163
+ description @11 :Text;
164
+ type @12 :SerializedTypeReference;
165
+ default @13 :DefaultValueReflection;
166
+ }
167
+
168
+ struct SerializedTypeFunction {
169
+ typeName @0 :Text;
170
+ typeArguments @1 :List(SerializedTypeReference);
171
+ indexAccessOrigin @2 :IndexAccessOrigin;
172
+ decorators @3 :List(SerializedTypeReference);
173
+ visibility @4 :ReflectionVisibility;
174
+ abstract @5 :Bool;
175
+ optional @6 :Bool;
176
+ readonly @7 :Bool;
177
+ tags @8 :TagsReflection;
178
+ kind @9 :ReflectionKind;
179
+ name @10 :Text;
180
+ parameters @11 :List(SerializedTypeParameter);
181
+ return @12 :SerializedTypeReference;
182
+ }
183
+
184
+ struct SerializedTypePromise {
185
+ typeName @0 :Text;
186
+ typeArguments @1 :List(SerializedTypeReference);
187
+ indexAccessOrigin @2 :IndexAccessOrigin;
188
+ decorators @3 :List(SerializedTypeReference);
189
+ visibility @4 :ReflectionVisibility;
190
+ abstract @5 :Bool;
191
+ }
192
+
193
+ struct SerializedTypeEnumEntry {
194
+ name @0 :Text;
195
+ value @1 :Text;
196
+ }
197
+
198
+ struct SerializedTypeEnum {
199
+ typeName @0 :Text;
200
+ typeArguments @1 :List(SerializedTypeReference);
201
+ indexAccessOrigin @2 :IndexAccessOrigin;
202
+ decorators @3 :List(SerializedTypeReference);
203
+ kind @4 :ReflectionKind;
204
+ enumEntries @5 :List(SerializedTypeEnumEntry);
205
+ values @6 :List(Text);
206
+ indexType @7 :SerializedTypeReference;
207
+ tags @8 :TagsReflection;
208
+ }
209
+
210
+ struct SerializedTypeUnion {
211
+ typeName @0 :Text;
212
+ typeArguments @1 :List(SerializedTypeReference);
213
+ indexAccessOrigin @2 :IndexAccessOrigin;
214
+ decorators @3 :List(SerializedTypeReference);
215
+ kind @4 :ReflectionKind;
216
+ types @5 :List(SerializedTypeReference);
217
+ }
218
+
219
+ struct SerializedTypeIntersection {
220
+ typeName @0 :Text;
221
+ typeArguments @1 :List(SerializedTypeReference);
222
+ indexAccessOrigin @2 :IndexAccessOrigin;
223
+ decorators @3 :List(SerializedTypeReference);
224
+ kind @4 :ReflectionKind;
225
+ types @5 :List(SerializedTypeReference);
226
+ }
227
+
228
+ struct SerializedTypeArray {
229
+ typeName @0 :Text;
230
+ typeArguments @1 :List(SerializedTypeReference);
231
+ indexAccessOrigin @2 :IndexAccessOrigin;
232
+ decorators @3 :List(SerializedTypeReference);
233
+ kind @4 :ReflectionKind;
234
+ type @5 :SerializedTypeReference;
235
+ tags @6 :TagsReflection;
236
+ }
237
+
238
+ struct SerializedTypeIndexSignature {
239
+ typeName @0 :Text;
240
+ typeArguments @1 :List(SerializedTypeReference);
241
+ indexAccessOrigin @2 :IndexAccessOrigin;
242
+ decorators @3 :List(SerializedTypeReference);
243
+ kind @4 :ReflectionKind;
244
+ index @5 :SerializedTypeReference;
245
+ type @6 :SerializedTypeReference;
246
+ }
247
+
248
+ struct SerializedTypePropertySignature {
249
+ typeName @0 :Text;
250
+ typeArguments @1 :List(SerializedTypeReference);
251
+ indexAccessOrigin @2 :IndexAccessOrigin;
252
+ decorators @3 :List(SerializedTypeReference);
253
+ kind @4 :ReflectionKind;
254
+ name @5 :Text;
255
+ optional @6 :Bool;
256
+ readonly @7 :Bool;
257
+ description @8 :Text;
258
+ default @9 :DefaultValueReflection;
259
+ type @10 :SerializedTypeReference;
260
+ tags @11 :TagsReflection;
261
+ }
262
+
263
+ struct SerializedTypeMethodSignature {
264
+ typeName @0 :Text;
265
+ typeArguments @1 :List(SerializedTypeReference);
266
+ indexAccessOrigin @2 :IndexAccessOrigin;
267
+ decorators @3 :List(SerializedTypeReference);
268
+ kind @4 :ReflectionKind;
269
+ name @5 :Text;
270
+ optional @6 :Bool;
271
+ parameters @7 :List(SerializedTypeParameter);
272
+ return @8 :SerializedTypeReference;
273
+ tags @9 :TagsReflection;
274
+ }
275
+
276
+ struct SerializedTypeTypeParameter {
277
+ typeName @0 :Text;
278
+ typeArguments @1 :List(SerializedTypeReference);
279
+ indexAccessOrigin @2 :IndexAccessOrigin;
280
+ decorators @3 :List(SerializedTypeReference);
281
+ kind @4 :ReflectionKind;
282
+ name @5 :Text;
283
+ }
284
+
285
+ struct SerializedTypeInfer {
286
+ typeName @0 :Text;
287
+ typeArguments @1 :List(SerializedTypeReference);
288
+ indexAccessOrigin @2 :IndexAccessOrigin;
289
+ decorators @3 :List(SerializedTypeReference);
290
+ kind @4 :ReflectionKind;
291
+ }
292
+
293
+ struct SerializedTypeTupleMember {
294
+ typeName @0 :Text;
295
+ typeArguments @1 :List(SerializedTypeReference);
296
+ indexAccessOrigin @2 :IndexAccessOrigin;
297
+ decorators @3 :List(SerializedTypeReference);
298
+ kind @4 :ReflectionKind;
299
+ type @5 :SerializedTypeReference;
300
+ optional @6 :Bool;
301
+ name @7 :Text;
302
+ }
303
+
304
+ struct SerializedTypeTuple {
305
+ typeName @0 :Text;
306
+ typeArguments @1 :List(SerializedTypeReference);
307
+ indexAccessOrigin @2 :IndexAccessOrigin;
308
+ decorators @3 :List(SerializedTypeReference);
309
+ kind @4 :ReflectionKind;
310
+ types @5 :List(SerializedTypeTupleMember);
311
+ }
312
+
313
+ struct SerializedTypeRest {
314
+ typeName @0 :Text;
315
+ typeArguments @1 :List(SerializedTypeReference);
316
+ indexAccessOrigin @2 :IndexAccessOrigin;
317
+ decorators @3 :List(SerializedTypeReference);
318
+ kind @4 :ReflectionKind;
319
+ type @5 :SerializedTypeReference;
320
+ }
321
+
322
+ struct SimpleSerializedType {
323
+ typeName @0 :Text;
324
+ typeArguments @1 :List(SerializedTypeReference);
325
+ indexAccessOrigin @2 :IndexAccessOrigin;
326
+ decorators @3 :List(SerializedTypeReference);
327
+ kind @4 :ReflectionKind;
328
+ origin @5 :SerializedTypeReference;
329
+ }
330
+
331
+ struct SerializedTypeLiteralSymbol {
332
+ type @0 :Text; # "symbol"
333
+ name @1 :Text;
334
+ }
335
+
336
+ struct SerializedTypeLiteralBigInt {
337
+ type @0 :Text; # "bigint"
338
+ value @1 :Text;
339
+ }
340
+
341
+ struct SerializedTypeLiteralRegex {
342
+ type @0 :Text; # "regex"
343
+ regex @1 :Text;
344
+ }
345
+
346
+ struct SerializedTypeLiteral {
347
+ typeName @0 :Text;
348
+ typeArguments @1 :List(SerializedTypeReference);
349
+ indexAccessOrigin @2 :IndexAccessOrigin;
350
+ decorators @3 :List(SerializedTypeReference);
351
+ kind @4 :ReflectionKind;
352
+ literal :union {
353
+ symbol @5 :SerializedTypeLiteralSymbol;
354
+ string @6 :Text;
355
+ number @7 :Float64;
356
+ boolean @8 :Bool;
357
+ bigint @9 :SerializedTypeLiteralBigInt;
358
+ regex @10 :SerializedTypeLiteralRegex;
359
+ }
360
+ }
361
+
362
+ struct SerializedTypeTemplateLiteral {
363
+ typeName @0 :Text;
364
+ typeArguments @1 :List(SerializedTypeReference);
365
+ indexAccessOrigin @2 :IndexAccessOrigin;
366
+ decorators @3 :List(SerializedTypeReference);
367
+ kind @4 :ReflectionKind;
368
+ types @5 :List(SerializedTypeReference);
369
+ }
370
+
371
+ struct SerializedTypeOther {
372
+ typeName @0 :Text;
373
+ kind @1 :ReflectionKind;
374
+ }
375
+
376
+ struct SerializedType {
377
+ type :union {
378
+ simple @0 :SimpleSerializedType;
379
+ literal @1 :SerializedTypeLiteral;
380
+ templateLiteral @2 :SerializedTypeTemplateLiteral;
381
+ parameter @3 :SerializedTypeParameter;
382
+ function @4 :SerializedTypeFunction;
383
+ method @5 :SerializedTypeMethod;
384
+ property @6 :SerializedTypeProperty;
385
+ promise @7 :SerializedTypePromise;
386
+ classType @8 :SerializedTypeClassType;
387
+ enum @9 :SerializedTypeEnum;
388
+ union @10 :SerializedTypeUnion;
389
+ intersection @11 :SerializedTypeIntersection;
390
+ array @12 :SerializedTypeArray;
391
+ objectLiteral @13 :SerializedTypeObjectLiteral;
392
+ indexSignature @14 :SerializedTypeIndexSignature;
393
+ propertySignature @15 :SerializedTypePropertySignature;
394
+ methodSignature @16 :SerializedTypeMethodSignature;
395
+ typeParameter @17 :SerializedTypeTypeParameter;
396
+ infer @18 :SerializedTypeInfer;
397
+ tuple @19 :SerializedTypeTuple;
398
+ tupleMember @20 :SerializedTypeTupleMember;
399
+ rest @21 :SerializedTypeRest;
400
+ other @22 :SerializedTypeOther; # For any other type that is not explicitly defined
401
+ }
402
+ }
403
+
404
+ struct SerializedTypes {
405
+ types @0 :List(SerializedType);
406
+ }