@@ -61,6 +61,29 @@ describe('Field Decorator', function () {
61
61
} ) ;
62
62
63
63
describe ( 'signal inputs' , ( ) => {
64
+ it ( 'should parse a custom type type of an optional input' , ( ) => {
65
+ const ast = tsquery . ast ( `
66
+ export class MyTestClass {
67
+ test = input<myIcon>();
68
+ }
69
+ ` ) ;
70
+
71
+ const expectedInputs = [
72
+ {
73
+ decorator : 'input' ,
74
+ name : 'test' ,
75
+ initialValue : '' ,
76
+ type : 'myIcon' ,
77
+ required : false ,
78
+ field : 'test = input<myIcon>();' ,
79
+ } ,
80
+ ] ;
81
+ expect ( parseInputsAndOutputs ( ast ) ) . toEqual ( {
82
+ inputs : expectedInputs ,
83
+ outputs : [ ] ,
84
+ } ) ;
85
+ } ) ;
86
+
64
87
it ( 'should parse signal inputs with initial string value' , ( ) => {
65
88
const ast = tsquery . ast ( `
66
89
export class MyTestClass {
@@ -74,6 +97,7 @@ describe('Field Decorator', function () {
74
97
name : 'test' ,
75
98
required : false ,
76
99
initialValue : '"myValue"' ,
100
+ type : 'inferred' ,
77
101
field : 'test = input("myValue");' ,
78
102
} ,
79
103
] ;
@@ -95,6 +119,7 @@ describe('Field Decorator', function () {
95
119
decorator : 'input' ,
96
120
name : 'test' ,
97
121
required : false ,
122
+ type : 'inferred' ,
98
123
initialValue : 'true' ,
99
124
field : 'test = input(true);' ,
100
125
} ,
@@ -118,6 +143,7 @@ describe('Field Decorator', function () {
118
143
name : 'test' ,
119
144
required : false ,
120
145
initialValue : 'false' ,
146
+ type : 'inferred' ,
121
147
field : 'test = input(false);' ,
122
148
} ,
123
149
] ;
@@ -139,6 +165,7 @@ describe('Field Decorator', function () {
139
165
decorator : 'input' ,
140
166
name : 'test' ,
141
167
required : false ,
168
+ type : 'inferred' ,
142
169
initialValue : '[]' ,
143
170
field : 'test = input([]);' ,
144
171
} ,
@@ -161,6 +188,7 @@ describe('Field Decorator', function () {
161
188
decorator : 'input' ,
162
189
name : 'test' ,
163
190
required : false ,
191
+ type : 'inferred' ,
164
192
initialValue : '{}' ,
165
193
field : 'test = input({});' ,
166
194
} ,
@@ -183,6 +211,7 @@ describe('Field Decorator', function () {
183
211
decorator : 'input' ,
184
212
name : 'test' ,
185
213
required : false ,
214
+ type : 'null' ,
186
215
initialValue : 'null' ,
187
216
field : 'test = input(null);' ,
188
217
} ,
@@ -205,6 +234,7 @@ describe('Field Decorator', function () {
205
234
decorator : 'input' ,
206
235
name : 'test' ,
207
236
required : false ,
237
+ type : 'inferred' ,
208
238
initialValue : 'undefined' ,
209
239
field : 'test = input(undefined);' ,
210
240
} ,
@@ -227,6 +257,7 @@ describe('Field Decorator', function () {
227
257
decorator : 'input' ,
228
258
name : 'test' ,
229
259
required : false ,
260
+ type : 'inferred' ,
230
261
initialValue : '0' ,
231
262
field : 'test = input(0);' ,
232
263
} ,
@@ -249,6 +280,7 @@ describe('Field Decorator', function () {
249
280
decorator : 'input' ,
250
281
name : 'test' ,
251
282
required : false ,
283
+ type : 'inferred' ,
252
284
initialValue : '`test`' ,
253
285
field : 'test = input(`test`);' ,
254
286
} ,
@@ -293,6 +325,7 @@ describe('Field Decorator', function () {
293
325
decorator : 'input' ,
294
326
name : 'test' ,
295
327
initialValue : '`myvalue`' ,
328
+ type : 'inferred' ,
296
329
required : false ,
297
330
field : 'test = input(`myvalue`);' ,
298
331
} ,
@@ -315,6 +348,7 @@ describe('Field Decorator', function () {
315
348
{
316
349
decorator : 'input' ,
317
350
name : 'test' ,
351
+ type : 'inferred' ,
318
352
initialValue : '`myvalue bar`' ,
319
353
required : false ,
320
354
field : 'test = input(`myvalue bar`);' ,
@@ -339,6 +373,7 @@ describe('Field Decorator', function () {
339
373
{
340
374
decorator : 'model' ,
341
375
name : 'test' ,
376
+ type : 'inferred' ,
342
377
required : false ,
343
378
initialValue : '"myValue"' ,
344
379
field : 'test = model("myValue");' ,
@@ -362,6 +397,7 @@ describe('Field Decorator', function () {
362
397
decorator : 'model' ,
363
398
name : 'test' ,
364
399
required : false ,
400
+ type : 'inferred' ,
365
401
initialValue : 'true' ,
366
402
field : 'test = model(true);' ,
367
403
} ,
@@ -384,6 +420,7 @@ describe('Field Decorator', function () {
384
420
decorator : 'model' ,
385
421
name : 'test' ,
386
422
required : false ,
423
+ type : 'inferred' ,
387
424
initialValue : 'false' ,
388
425
field : 'test = model(false);' ,
389
426
} ,
@@ -406,6 +443,7 @@ describe('Field Decorator', function () {
406
443
decorator : 'model' ,
407
444
name : 'test' ,
408
445
required : false ,
446
+ type : 'inferred' ,
409
447
initialValue : '[]' ,
410
448
field : 'test = model([]);' ,
411
449
} ,
@@ -428,6 +466,7 @@ describe('Field Decorator', function () {
428
466
decorator : 'model' ,
429
467
name : 'test' ,
430
468
required : false ,
469
+ type : 'inferred' ,
431
470
initialValue : '{}' ,
432
471
field : 'test = model({});' ,
433
472
} ,
@@ -450,6 +489,7 @@ describe('Field Decorator', function () {
450
489
decorator : 'model' ,
451
490
name : 'test' ,
452
491
required : false ,
492
+ type : 'null' ,
453
493
initialValue : 'null' ,
454
494
field : 'test = model(null);' ,
455
495
} ,
@@ -472,6 +512,7 @@ describe('Field Decorator', function () {
472
512
decorator : 'model' ,
473
513
name : 'test' ,
474
514
required : false ,
515
+ type : 'inferred' ,
475
516
initialValue : 'undefined' ,
476
517
field : 'test = model(undefined);' ,
477
518
} ,
@@ -515,6 +556,7 @@ describe('Field Decorator', function () {
515
556
{
516
557
decorator : 'model' ,
517
558
name : 'test' ,
559
+ type : 'inferred' ,
518
560
initialValue : '0' ,
519
561
required : false ,
520
562
field : 'test = model(0);' ,
@@ -537,6 +579,7 @@ describe('Field Decorator', function () {
537
579
{
538
580
decorator : 'model' ,
539
581
name : 'test' ,
582
+ type : 'inferred' ,
540
583
initialValue : '`myvalue`' ,
541
584
required : false ,
542
585
field : 'test = model(`myvalue`);' ,
@@ -560,6 +603,7 @@ describe('Field Decorator', function () {
560
603
{
561
604
decorator : 'model' ,
562
605
name : 'test' ,
606
+ type : 'inferred' ,
563
607
initialValue : '`myvalue bar`' ,
564
608
required : false ,
565
609
field : 'test = model(`myvalue bar`);' ,
0 commit comments