@genesislcap/foundation-testing 14.68.2 → 14.68.3-alpha-43b6152.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.
@@ -0,0 +1,2061 @@
1
+ {
2
+ "metadata": {
3
+ "toolPackage": "@microsoft/api-extractor",
4
+ "toolVersion": "7.34.9",
5
+ "schemaVersion": 1011,
6
+ "oldestForwardsCompatibleVersion": 1001,
7
+ "tsdocConfig": {
8
+ "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json",
9
+ "noStandardTags": true,
10
+ "tagDefinitions": [
11
+ {
12
+ "tagName": "@alpha",
13
+ "syntaxKind": "modifier"
14
+ },
15
+ {
16
+ "tagName": "@beta",
17
+ "syntaxKind": "modifier"
18
+ },
19
+ {
20
+ "tagName": "@defaultValue",
21
+ "syntaxKind": "block"
22
+ },
23
+ {
24
+ "tagName": "@decorator",
25
+ "syntaxKind": "block",
26
+ "allowMultiple": true
27
+ },
28
+ {
29
+ "tagName": "@deprecated",
30
+ "syntaxKind": "block"
31
+ },
32
+ {
33
+ "tagName": "@eventProperty",
34
+ "syntaxKind": "modifier"
35
+ },
36
+ {
37
+ "tagName": "@example",
38
+ "syntaxKind": "block",
39
+ "allowMultiple": true
40
+ },
41
+ {
42
+ "tagName": "@experimental",
43
+ "syntaxKind": "modifier"
44
+ },
45
+ {
46
+ "tagName": "@inheritDoc",
47
+ "syntaxKind": "inline"
48
+ },
49
+ {
50
+ "tagName": "@internal",
51
+ "syntaxKind": "modifier"
52
+ },
53
+ {
54
+ "tagName": "@label",
55
+ "syntaxKind": "inline"
56
+ },
57
+ {
58
+ "tagName": "@link",
59
+ "syntaxKind": "inline",
60
+ "allowMultiple": true
61
+ },
62
+ {
63
+ "tagName": "@override",
64
+ "syntaxKind": "modifier"
65
+ },
66
+ {
67
+ "tagName": "@packageDocumentation",
68
+ "syntaxKind": "modifier"
69
+ },
70
+ {
71
+ "tagName": "@param",
72
+ "syntaxKind": "block",
73
+ "allowMultiple": true
74
+ },
75
+ {
76
+ "tagName": "@privateRemarks",
77
+ "syntaxKind": "block"
78
+ },
79
+ {
80
+ "tagName": "@public",
81
+ "syntaxKind": "modifier"
82
+ },
83
+ {
84
+ "tagName": "@readonly",
85
+ "syntaxKind": "modifier"
86
+ },
87
+ {
88
+ "tagName": "@remarks",
89
+ "syntaxKind": "block"
90
+ },
91
+ {
92
+ "tagName": "@returns",
93
+ "syntaxKind": "block"
94
+ },
95
+ {
96
+ "tagName": "@sealed",
97
+ "syntaxKind": "modifier"
98
+ },
99
+ {
100
+ "tagName": "@see",
101
+ "syntaxKind": "block"
102
+ },
103
+ {
104
+ "tagName": "@throws",
105
+ "syntaxKind": "block",
106
+ "allowMultiple": true
107
+ },
108
+ {
109
+ "tagName": "@typeParam",
110
+ "syntaxKind": "block",
111
+ "allowMultiple": true
112
+ },
113
+ {
114
+ "tagName": "@virtual",
115
+ "syntaxKind": "modifier"
116
+ },
117
+ {
118
+ "tagName": "@betaDocumentation",
119
+ "syntaxKind": "modifier"
120
+ },
121
+ {
122
+ "tagName": "@internalRemarks",
123
+ "syntaxKind": "block"
124
+ },
125
+ {
126
+ "tagName": "@preapproved",
127
+ "syntaxKind": "modifier"
128
+ }
129
+ ],
130
+ "supportForTags": {
131
+ "@alpha": true,
132
+ "@beta": true,
133
+ "@defaultValue": true,
134
+ "@decorator": true,
135
+ "@deprecated": true,
136
+ "@eventProperty": true,
137
+ "@example": true,
138
+ "@experimental": true,
139
+ "@inheritDoc": true,
140
+ "@internal": true,
141
+ "@label": true,
142
+ "@link": true,
143
+ "@override": true,
144
+ "@packageDocumentation": true,
145
+ "@param": true,
146
+ "@privateRemarks": true,
147
+ "@public": true,
148
+ "@readonly": true,
149
+ "@remarks": true,
150
+ "@returns": true,
151
+ "@sealed": true,
152
+ "@see": true,
153
+ "@throws": true,
154
+ "@typeParam": true,
155
+ "@virtual": true,
156
+ "@betaDocumentation": true,
157
+ "@internalRemarks": true,
158
+ "@preapproved": true
159
+ },
160
+ "reportUnsupportedHtmlElements": false
161
+ }
162
+ },
163
+ "kind": "Package",
164
+ "canonicalReference": "@genesislcap/foundation-testing!",
165
+ "docComment": "",
166
+ "name": "@genesislcap/foundation-testing",
167
+ "preserveMemberOrder": false,
168
+ "members": [
169
+ {
170
+ "kind": "EntryPoint",
171
+ "canonicalReference": "@genesislcap/foundation-testing!",
172
+ "name": "",
173
+ "preserveMemberOrder": false,
174
+ "members": [
175
+ {
176
+ "kind": "Interface",
177
+ "canonicalReference": "@genesislcap/foundation-testing!ComponentContext:interface",
178
+ "docComment": "/**\n * Component suite context interface\n *\n * @public\n */\n",
179
+ "excerptTokens": [
180
+ {
181
+ "kind": "Content",
182
+ "text": "export interface ComponentContext<TElement = "
183
+ },
184
+ {
185
+ "kind": "Reference",
186
+ "text": "HTMLElement",
187
+ "canonicalReference": "!HTMLElement:interface"
188
+ },
189
+ {
190
+ "kind": "Content",
191
+ "text": "> extends "
192
+ },
193
+ {
194
+ "kind": "Reference",
195
+ "text": "Pick",
196
+ "canonicalReference": "!Pick:type"
197
+ },
198
+ {
199
+ "kind": "Content",
200
+ "text": "<"
201
+ },
202
+ {
203
+ "kind": "Reference",
204
+ "text": "Fixture",
205
+ "canonicalReference": "@genesislcap/foundation-testing!Fixture:interface"
206
+ },
207
+ {
208
+ "kind": "Content",
209
+ "text": "<TElement>, 'element' | 'disconnect'>"
210
+ },
211
+ {
212
+ "kind": "Content",
213
+ "text": " "
214
+ }
215
+ ],
216
+ "fileUrlPath": "src/suite/suite.ts",
217
+ "releaseTag": "Public",
218
+ "typeParameters": [
219
+ {
220
+ "typeParameterName": "TElement",
221
+ "constraintTokenRange": {
222
+ "startIndex": 0,
223
+ "endIndex": 0
224
+ },
225
+ "defaultTypeTokenRange": {
226
+ "startIndex": 1,
227
+ "endIndex": 2
228
+ }
229
+ }
230
+ ],
231
+ "name": "ComponentContext",
232
+ "preserveMemberOrder": false,
233
+ "members": [
234
+ {
235
+ "kind": "PropertySignature",
236
+ "canonicalReference": "@genesislcap/foundation-testing!ComponentContext#container:member",
237
+ "docComment": "",
238
+ "excerptTokens": [
239
+ {
240
+ "kind": "Content",
241
+ "text": "container: "
242
+ },
243
+ {
244
+ "kind": "Reference",
245
+ "text": "Container",
246
+ "canonicalReference": "@microsoft/fast-foundation!Container:interface"
247
+ },
248
+ {
249
+ "kind": "Content",
250
+ "text": ";"
251
+ }
252
+ ],
253
+ "isReadonly": false,
254
+ "isOptional": false,
255
+ "releaseTag": "Public",
256
+ "name": "container",
257
+ "propertyTypeTokenRange": {
258
+ "startIndex": 1,
259
+ "endIndex": 2
260
+ }
261
+ },
262
+ {
263
+ "kind": "PropertySignature",
264
+ "canonicalReference": "@genesislcap/foundation-testing!ComponentContext#designSystem:member",
265
+ "docComment": "",
266
+ "excerptTokens": [
267
+ {
268
+ "kind": "Content",
269
+ "text": "designSystem: "
270
+ },
271
+ {
272
+ "kind": "Reference",
273
+ "text": "DesignSystem",
274
+ "canonicalReference": "@microsoft/fast-foundation!DesignSystem:interface"
275
+ },
276
+ {
277
+ "kind": "Content",
278
+ "text": ";"
279
+ }
280
+ ],
281
+ "isReadonly": false,
282
+ "isOptional": false,
283
+ "releaseTag": "Public",
284
+ "name": "designSystem",
285
+ "propertyTypeTokenRange": {
286
+ "startIndex": 1,
287
+ "endIndex": 2
288
+ }
289
+ },
290
+ {
291
+ "kind": "PropertySignature",
292
+ "canonicalReference": "@genesislcap/foundation-testing!ComponentContext#runCases:member",
293
+ "docComment": "",
294
+ "excerptTokens": [
295
+ {
296
+ "kind": "Content",
297
+ "text": "runCases: "
298
+ },
299
+ {
300
+ "kind": "Reference",
301
+ "text": "RunCases",
302
+ "canonicalReference": "@genesislcap/foundation-testing!RunCases:type"
303
+ },
304
+ {
305
+ "kind": "Content",
306
+ "text": ";"
307
+ }
308
+ ],
309
+ "isReadonly": false,
310
+ "isOptional": false,
311
+ "releaseTag": "Public",
312
+ "name": "runCases",
313
+ "propertyTypeTokenRange": {
314
+ "startIndex": 1,
315
+ "endIndex": 2
316
+ }
317
+ }
318
+ ],
319
+ "extendsTokenRanges": [
320
+ {
321
+ "startIndex": 3,
322
+ "endIndex": 7
323
+ }
324
+ ]
325
+ },
326
+ {
327
+ "kind": "Function",
328
+ "canonicalReference": "@genesislcap/foundation-testing!createComponentSuite:function(1)",
329
+ "docComment": "/**\n * Create component test suite.\n *\n * @remarks\n *\n * Used to test function output given certain input arguments.\n *\n * @param title - Title of the test suite\n *\n * @param elementNameOrGetter - Element tag name or getter which is used to create the element within the fixture\n *\n * @param context - Optional component context {@link ComponentContext}\n *\n * @param registrations - Optional array of DI container registrations\n *\n * @typeParam TElement - The element interface.\n *\n * @returns The test suite\n *\n * @example\n *\n * Simple suite using the tag name of the component.\n * ```ts\n * import { createComponentSuite } from '@genesislcap/foundation-testing';\n * import { Component } from './component';\n * Component; // < As we're using tag name in the Suite, we hold a reference to avoid tree shaking.\n * const Suite = createComponentSuite<Component>('Component', 'my-component');\n * // test cases...\n * Suite.run();\n * ```\n *\n * @example\n *\n * Mocking a DI dependency for a composable component.\n * ```ts\n * const connectMock = new ConnectMock();\n * const mocks = [Registration.instance(Connect, connectMock)];\n * const Suite = createComponentSuite<ConnectionIndicator>('ConnectionIndicator Component', () => connectionIndicator(), null, mocks);\n * // test cases...\n * Suite.run();\n * ```\n *\n * @example\n *\n * An element will be required to test anything that directly or in-directly makes use of the DI container, for example, a service that can be injected into components, or has its own injected dependencies.\n * ```ts\n * import { Service } from './service';\n * @customElement({\n * name: 'test-element',\n * template: html`<slot></slot>`,\n * })\n * class TestElement extends FASTElement {}\n * const mocks = [...];\n * const Suite = createComponentSuite<TestElement>('Service', 'test-element', null, mocks);\n * // test cases...\n * Suite.run();\n * ```\n *\n * Importing the service should invoke the Service's DI registration, so in your test cases you can simply query the container to get a reference to your service.\n * ```ts\n * Suite('Service.x does something expected', async ({ container }) => {\n * const myService = container.get(Service);\n * // assert\n * });\n * ```\n *\n * You can optionally add the service to the test element for lookup convenience, but this is not required.\n * ```ts\n * class TestElement extends FASTElement {\n * @Service service: Service;\n * }\n * Suite('Element has service injected', async ({ element }) => {\n * assert.ok(element.service);\n * });\n * ```\n *\n * @public\n */\n",
330
+ "excerptTokens": [
331
+ {
332
+ "kind": "Content",
333
+ "text": "export declare function createComponentSuite<TElement = "
334
+ },
335
+ {
336
+ "kind": "Reference",
337
+ "text": "HTMLElement",
338
+ "canonicalReference": "!HTMLElement:interface"
339
+ },
340
+ {
341
+ "kind": "Content",
342
+ "text": ">(title: "
343
+ },
344
+ {
345
+ "kind": "Content",
346
+ "text": "string"
347
+ },
348
+ {
349
+ "kind": "Content",
350
+ "text": ", elementNameOrGetter: "
351
+ },
352
+ {
353
+ "kind": "Content",
354
+ "text": "string | "
355
+ },
356
+ {
357
+ "kind": "Reference",
358
+ "text": "ElementGetter",
359
+ "canonicalReference": "@genesislcap/foundation-testing!ElementGetter:type"
360
+ },
361
+ {
362
+ "kind": "Content",
363
+ "text": ", context?: "
364
+ },
365
+ {
366
+ "kind": "Reference",
367
+ "text": "ComponentContext",
368
+ "canonicalReference": "@genesislcap/foundation-testing!ComponentContext:interface"
369
+ },
370
+ {
371
+ "kind": "Content",
372
+ "text": "<TElement>"
373
+ },
374
+ {
375
+ "kind": "Content",
376
+ "text": ", registrations?: "
377
+ },
378
+ {
379
+ "kind": "Reference",
380
+ "text": "Registration",
381
+ "canonicalReference": "@microsoft/fast-foundation!Registration:interface"
382
+ },
383
+ {
384
+ "kind": "Content",
385
+ "text": "<any>[]"
386
+ },
387
+ {
388
+ "kind": "Content",
389
+ "text": "): "
390
+ },
391
+ {
392
+ "kind": "Reference",
393
+ "text": "uvu.Test",
394
+ "canonicalReference": "uvu!uvu.Test:interface"
395
+ },
396
+ {
397
+ "kind": "Content",
398
+ "text": "<"
399
+ },
400
+ {
401
+ "kind": "Reference",
402
+ "text": "ComponentContext",
403
+ "canonicalReference": "@genesislcap/foundation-testing!ComponentContext:interface"
404
+ },
405
+ {
406
+ "kind": "Content",
407
+ "text": "<TElement>>"
408
+ },
409
+ {
410
+ "kind": "Content",
411
+ "text": ";"
412
+ }
413
+ ],
414
+ "fileUrlPath": "src/suite/suite.ts",
415
+ "returnTypeTokenRange": {
416
+ "startIndex": 14,
417
+ "endIndex": 18
418
+ },
419
+ "releaseTag": "Public",
420
+ "overloadIndex": 1,
421
+ "parameters": [
422
+ {
423
+ "parameterName": "title",
424
+ "parameterTypeTokenRange": {
425
+ "startIndex": 3,
426
+ "endIndex": 4
427
+ },
428
+ "isOptional": false
429
+ },
430
+ {
431
+ "parameterName": "elementNameOrGetter",
432
+ "parameterTypeTokenRange": {
433
+ "startIndex": 5,
434
+ "endIndex": 7
435
+ },
436
+ "isOptional": false
437
+ },
438
+ {
439
+ "parameterName": "context",
440
+ "parameterTypeTokenRange": {
441
+ "startIndex": 8,
442
+ "endIndex": 10
443
+ },
444
+ "isOptional": true
445
+ },
446
+ {
447
+ "parameterName": "registrations",
448
+ "parameterTypeTokenRange": {
449
+ "startIndex": 11,
450
+ "endIndex": 13
451
+ },
452
+ "isOptional": true
453
+ }
454
+ ],
455
+ "typeParameters": [
456
+ {
457
+ "typeParameterName": "TElement",
458
+ "constraintTokenRange": {
459
+ "startIndex": 0,
460
+ "endIndex": 0
461
+ },
462
+ "defaultTypeTokenRange": {
463
+ "startIndex": 1,
464
+ "endIndex": 2
465
+ }
466
+ }
467
+ ],
468
+ "name": "createComponentSuite"
469
+ },
470
+ {
471
+ "kind": "Function",
472
+ "canonicalReference": "@genesislcap/foundation-testing!createLogicSuite:function(1)",
473
+ "docComment": "/**\n * Create logic test suite.\n *\n * @remarks\n *\n * Used to test function output given certain input arguments.\n *\n * @param title - Title of the test suite\n *\n * @param context - Optional context which extends {@link LogicContext}\n *\n * @typeParam TContext - The context interface.\n *\n * @returns The test suite\n *\n * @example\n * ```ts\n * import { createLogicSuite } from '@genesislcap/foundation-testing';\n * import { myFunction } from './logic';\n * const Suite = createLogicSuite('myFunction');\n * Suite('myFunction should provide expected results', ({ runCases }) => {\n * runCases(myFunction, [\n * [['1'], true],\n * [[123], true],\n * [['60%'], true],\n * [['$60'], false],\n * [['1.1'], false],\n * [[''], false],\n * [[true], false],\n * [[null], false],\n * [[undefined], false],\n * ]);\n * });\n * Suite.run();\n * ```\n *\n * @public\n */\n",
474
+ "excerptTokens": [
475
+ {
476
+ "kind": "Content",
477
+ "text": "export declare function createLogicSuite<TContext = "
478
+ },
479
+ {
480
+ "kind": "Reference",
481
+ "text": "LogicContext",
482
+ "canonicalReference": "@genesislcap/foundation-testing!LogicContext:interface"
483
+ },
484
+ {
485
+ "kind": "Content",
486
+ "text": ">(title: "
487
+ },
488
+ {
489
+ "kind": "Content",
490
+ "text": "string"
491
+ },
492
+ {
493
+ "kind": "Content",
494
+ "text": ", context?: "
495
+ },
496
+ {
497
+ "kind": "Content",
498
+ "text": "TContext"
499
+ },
500
+ {
501
+ "kind": "Content",
502
+ "text": "): "
503
+ },
504
+ {
505
+ "kind": "Reference",
506
+ "text": "uvu.Test",
507
+ "canonicalReference": "uvu!uvu.Test:interface"
508
+ },
509
+ {
510
+ "kind": "Content",
511
+ "text": "<TContext>"
512
+ },
513
+ {
514
+ "kind": "Content",
515
+ "text": ";"
516
+ }
517
+ ],
518
+ "fileUrlPath": "src/suite/suite.ts",
519
+ "returnTypeTokenRange": {
520
+ "startIndex": 7,
521
+ "endIndex": 9
522
+ },
523
+ "releaseTag": "Public",
524
+ "overloadIndex": 1,
525
+ "parameters": [
526
+ {
527
+ "parameterName": "title",
528
+ "parameterTypeTokenRange": {
529
+ "startIndex": 3,
530
+ "endIndex": 4
531
+ },
532
+ "isOptional": false
533
+ },
534
+ {
535
+ "parameterName": "context",
536
+ "parameterTypeTokenRange": {
537
+ "startIndex": 5,
538
+ "endIndex": 6
539
+ },
540
+ "isOptional": true
541
+ }
542
+ ],
543
+ "typeParameters": [
544
+ {
545
+ "typeParameterName": "TContext",
546
+ "constraintTokenRange": {
547
+ "startIndex": 0,
548
+ "endIndex": 0
549
+ },
550
+ "defaultTypeTokenRange": {
551
+ "startIndex": 1,
552
+ "endIndex": 2
553
+ }
554
+ }
555
+ ],
556
+ "name": "createLogicSuite"
557
+ },
558
+ {
559
+ "kind": "Variable",
560
+ "canonicalReference": "@genesislcap/foundation-testing!delayedResolve:var",
561
+ "docComment": "/**\n * Delayed resolve utility.\n *\n * @param result - The result of the promise.\n *\n * @param duration - An optional duration in milliseconds. Defaults to 500.\n *\n * @example\n * ```ts\n * test('delayed resolve', async () => {\n * const mockAPI = delayedResolve({ foo: 'bar' }, 2_000);\n * const result = await mockAPI();\n * });\n * ```\n *\n * @public\n */\n",
562
+ "excerptTokens": [
563
+ {
564
+ "kind": "Content",
565
+ "text": "delayedResolve: "
566
+ },
567
+ {
568
+ "kind": "Content",
569
+ "text": "(result: unknown, duration?: number) => () => "
570
+ },
571
+ {
572
+ "kind": "Reference",
573
+ "text": "Promise",
574
+ "canonicalReference": "!Promise:interface"
575
+ },
576
+ {
577
+ "kind": "Content",
578
+ "text": "<unknown>"
579
+ }
580
+ ],
581
+ "fileUrlPath": "src/utils/promise.ts",
582
+ "isReadonly": true,
583
+ "releaseTag": "Public",
584
+ "name": "delayedResolve",
585
+ "variableTypeTokenRange": {
586
+ "startIndex": 1,
587
+ "endIndex": 4
588
+ }
589
+ },
590
+ {
591
+ "kind": "TypeAlias",
592
+ "canonicalReference": "@genesislcap/foundation-testing!ElementGetter:type",
593
+ "docComment": "/**\n * @public\n */\n",
594
+ "excerptTokens": [
595
+ {
596
+ "kind": "Content",
597
+ "text": "export type ElementGetter = "
598
+ },
599
+ {
600
+ "kind": "Content",
601
+ "text": "() => "
602
+ },
603
+ {
604
+ "kind": "Reference",
605
+ "text": "FoundationElementRegistry",
606
+ "canonicalReference": "@microsoft/fast-foundation!FoundationElementRegistry:class"
607
+ },
608
+ {
609
+ "kind": "Content",
610
+ "text": "<"
611
+ },
612
+ {
613
+ "kind": "Reference",
614
+ "text": "FoundationElementDefinition",
615
+ "canonicalReference": "@microsoft/fast-foundation!FoundationElementDefinition:interface"
616
+ },
617
+ {
618
+ "kind": "Content",
619
+ "text": ", "
620
+ },
621
+ {
622
+ "kind": "Reference",
623
+ "text": "FoundationElement",
624
+ "canonicalReference": "@microsoft/fast-foundation!FoundationElement:class"
625
+ },
626
+ {
627
+ "kind": "Content",
628
+ "text": ">"
629
+ },
630
+ {
631
+ "kind": "Content",
632
+ "text": ";"
633
+ }
634
+ ],
635
+ "fileUrlPath": "src/suite/suite.ts",
636
+ "releaseTag": "Public",
637
+ "name": "ElementGetter",
638
+ "typeTokenRange": {
639
+ "startIndex": 1,
640
+ "endIndex": 8
641
+ }
642
+ },
643
+ {
644
+ "kind": "TypeAlias",
645
+ "canonicalReference": "@genesislcap/foundation-testing!Equal:type",
646
+ "docComment": "/**\n * Expects that the type parameter X is equal to Y, returning true or false\n *\n * @public\n */\n",
647
+ "excerptTokens": [
648
+ {
649
+ "kind": "Content",
650
+ "text": "export type Equal<X, Y> = "
651
+ },
652
+ {
653
+ "kind": "Content",
654
+ "text": "(<T>() => T extends X ? 1 : 2) extends <T>() => T extends Y ? 1 : 2 ? true : false"
655
+ },
656
+ {
657
+ "kind": "Content",
658
+ "text": ";"
659
+ }
660
+ ],
661
+ "fileUrlPath": "src/utils/types.ts",
662
+ "releaseTag": "Public",
663
+ "name": "Equal",
664
+ "typeParameters": [
665
+ {
666
+ "typeParameterName": "X",
667
+ "constraintTokenRange": {
668
+ "startIndex": 0,
669
+ "endIndex": 0
670
+ },
671
+ "defaultTypeTokenRange": {
672
+ "startIndex": 0,
673
+ "endIndex": 0
674
+ }
675
+ },
676
+ {
677
+ "typeParameterName": "Y",
678
+ "constraintTokenRange": {
679
+ "startIndex": 0,
680
+ "endIndex": 0
681
+ },
682
+ "defaultTypeTokenRange": {
683
+ "startIndex": 0,
684
+ "endIndex": 0
685
+ }
686
+ }
687
+ ],
688
+ "typeTokenRange": {
689
+ "startIndex": 1,
690
+ "endIndex": 2
691
+ }
692
+ },
693
+ {
694
+ "kind": "TypeAlias",
695
+ "canonicalReference": "@genesislcap/foundation-testing!Expect:type",
696
+ "docComment": "/**\n * Expects that the type parameter T resolves to true, or will be a typescript error\n *\n * @public\n */\n",
697
+ "excerptTokens": [
698
+ {
699
+ "kind": "Content",
700
+ "text": "export type Expect<T extends "
701
+ },
702
+ {
703
+ "kind": "Content",
704
+ "text": "true"
705
+ },
706
+ {
707
+ "kind": "Content",
708
+ "text": "> = "
709
+ },
710
+ {
711
+ "kind": "Content",
712
+ "text": "T"
713
+ },
714
+ {
715
+ "kind": "Content",
716
+ "text": ";"
717
+ }
718
+ ],
719
+ "fileUrlPath": "src/utils/types.ts",
720
+ "releaseTag": "Public",
721
+ "name": "Expect",
722
+ "typeParameters": [
723
+ {
724
+ "typeParameterName": "T",
725
+ "constraintTokenRange": {
726
+ "startIndex": 1,
727
+ "endIndex": 2
728
+ },
729
+ "defaultTypeTokenRange": {
730
+ "startIndex": 0,
731
+ "endIndex": 0
732
+ }
733
+ }
734
+ ],
735
+ "typeTokenRange": {
736
+ "startIndex": 3,
737
+ "endIndex": 4
738
+ }
739
+ },
740
+ {
741
+ "kind": "TypeAlias",
742
+ "canonicalReference": "@genesislcap/foundation-testing!FilterConditionally:type",
743
+ "docComment": "/**\n * Filters out key/value pairs from an object where they value does not match a condition\n *\n * @public\n */\n",
744
+ "excerptTokens": [
745
+ {
746
+ "kind": "Content",
747
+ "text": "export type FilterConditionally<Source, Condition> = "
748
+ },
749
+ {
750
+ "kind": "Reference",
751
+ "text": "Pick",
752
+ "canonicalReference": "!Pick:type"
753
+ },
754
+ {
755
+ "kind": "Content",
756
+ "text": "<Source, {\n [K in keyof Source]: Source[K] extends Condition ? K : never;\n}[keyof Source]>"
757
+ },
758
+ {
759
+ "kind": "Content",
760
+ "text": ";"
761
+ }
762
+ ],
763
+ "fileUrlPath": "src/utils/harness.ts",
764
+ "releaseTag": "Public",
765
+ "name": "FilterConditionally",
766
+ "typeParameters": [
767
+ {
768
+ "typeParameterName": "Source",
769
+ "constraintTokenRange": {
770
+ "startIndex": 0,
771
+ "endIndex": 0
772
+ },
773
+ "defaultTypeTokenRange": {
774
+ "startIndex": 0,
775
+ "endIndex": 0
776
+ }
777
+ },
778
+ {
779
+ "typeParameterName": "Condition",
780
+ "constraintTokenRange": {
781
+ "startIndex": 0,
782
+ "endIndex": 0
783
+ },
784
+ "defaultTypeTokenRange": {
785
+ "startIndex": 0,
786
+ "endIndex": 0
787
+ }
788
+ }
789
+ ],
790
+ "typeTokenRange": {
791
+ "startIndex": 1,
792
+ "endIndex": 3
793
+ }
794
+ },
795
+ {
796
+ "kind": "Function",
797
+ "canonicalReference": "@genesislcap/foundation-testing!fixture:function(1)",
798
+ "docComment": "/**\n * Creates a test fixture suitable for testing custom elements, templates, and bindings.\n *\n * @remarks\n *\n * Yields control to the caller one Microtask later, in order to ensure that the DOM has settled. This has changed in the latest version of FAST!\n *\n * @param templateNameOrRegistry - An HTML template or single element name to create the fixture for.\n *\n * @param options - Enables customizing fixture creation behavior.\n *\n * @returns A promise of the test fixture {@link Fixture}.\n *\n * @public\n */\n",
799
+ "excerptTokens": [
800
+ {
801
+ "kind": "Content",
802
+ "text": "export declare function fixture<TElement = "
803
+ },
804
+ {
805
+ "kind": "Reference",
806
+ "text": "HTMLElement",
807
+ "canonicalReference": "!HTMLElement:interface"
808
+ },
809
+ {
810
+ "kind": "Content",
811
+ "text": ">(templateNameOrRegistry: "
812
+ },
813
+ {
814
+ "kind": "Reference",
815
+ "text": "ViewTemplate",
816
+ "canonicalReference": "@microsoft/fast-element!ViewTemplate:class"
817
+ },
818
+ {
819
+ "kind": "Content",
820
+ "text": " | string | "
821
+ },
822
+ {
823
+ "kind": "Reference",
824
+ "text": "FoundationElementRegistry",
825
+ "canonicalReference": "@microsoft/fast-foundation!FoundationElementRegistry:class"
826
+ },
827
+ {
828
+ "kind": "Content",
829
+ "text": "<"
830
+ },
831
+ {
832
+ "kind": "Reference",
833
+ "text": "FoundationElementDefinition",
834
+ "canonicalReference": "@microsoft/fast-foundation!FoundationElementDefinition:interface"
835
+ },
836
+ {
837
+ "kind": "Content",
838
+ "text": ", "
839
+ },
840
+ {
841
+ "kind": "Reference",
842
+ "text": "Constructable",
843
+ "canonicalReference": "@microsoft/fast-element!Constructable:type"
844
+ },
845
+ {
846
+ "kind": "Content",
847
+ "text": "<TElement>> | [\n "
848
+ },
849
+ {
850
+ "kind": "Reference",
851
+ "text": "FoundationElementRegistry",
852
+ "canonicalReference": "@microsoft/fast-foundation!FoundationElementRegistry:class"
853
+ },
854
+ {
855
+ "kind": "Content",
856
+ "text": "<"
857
+ },
858
+ {
859
+ "kind": "Reference",
860
+ "text": "FoundationElementDefinition",
861
+ "canonicalReference": "@microsoft/fast-foundation!FoundationElementDefinition:interface"
862
+ },
863
+ {
864
+ "kind": "Content",
865
+ "text": ", "
866
+ },
867
+ {
868
+ "kind": "Reference",
869
+ "text": "Constructable",
870
+ "canonicalReference": "@microsoft/fast-element!Constructable:type"
871
+ },
872
+ {
873
+ "kind": "Content",
874
+ "text": "<TElement>>,\n ..."
875
+ },
876
+ {
877
+ "kind": "Reference",
878
+ "text": "FoundationElementRegistry",
879
+ "canonicalReference": "@microsoft/fast-foundation!FoundationElementRegistry:class"
880
+ },
881
+ {
882
+ "kind": "Content",
883
+ "text": "<"
884
+ },
885
+ {
886
+ "kind": "Reference",
887
+ "text": "FoundationElementDefinition",
888
+ "canonicalReference": "@microsoft/fast-foundation!FoundationElementDefinition:interface"
889
+ },
890
+ {
891
+ "kind": "Content",
892
+ "text": ", "
893
+ },
894
+ {
895
+ "kind": "Reference",
896
+ "text": "Constructable",
897
+ "canonicalReference": "@microsoft/fast-element!Constructable:type"
898
+ },
899
+ {
900
+ "kind": "Content",
901
+ "text": ">[]\n]"
902
+ },
903
+ {
904
+ "kind": "Content",
905
+ "text": ", options?: "
906
+ },
907
+ {
908
+ "kind": "Reference",
909
+ "text": "FixtureOptions",
910
+ "canonicalReference": "@genesislcap/foundation-testing!FixtureOptions:interface"
911
+ },
912
+ {
913
+ "kind": "Content",
914
+ "text": "): "
915
+ },
916
+ {
917
+ "kind": "Reference",
918
+ "text": "Promise",
919
+ "canonicalReference": "!Promise:interface"
920
+ },
921
+ {
922
+ "kind": "Content",
923
+ "text": "<"
924
+ },
925
+ {
926
+ "kind": "Reference",
927
+ "text": "Fixture",
928
+ "canonicalReference": "@genesislcap/foundation-testing!Fixture:interface"
929
+ },
930
+ {
931
+ "kind": "Content",
932
+ "text": "<TElement>>"
933
+ },
934
+ {
935
+ "kind": "Content",
936
+ "text": ";"
937
+ }
938
+ ],
939
+ "fileUrlPath": "src/component/fixture.ts",
940
+ "returnTypeTokenRange": {
941
+ "startIndex": 26,
942
+ "endIndex": 30
943
+ },
944
+ "releaseTag": "Public",
945
+ "overloadIndex": 1,
946
+ "parameters": [
947
+ {
948
+ "parameterName": "templateNameOrRegistry",
949
+ "parameterTypeTokenRange": {
950
+ "startIndex": 3,
951
+ "endIndex": 23
952
+ },
953
+ "isOptional": false
954
+ },
955
+ {
956
+ "parameterName": "options",
957
+ "parameterTypeTokenRange": {
958
+ "startIndex": 24,
959
+ "endIndex": 25
960
+ },
961
+ "isOptional": true
962
+ }
963
+ ],
964
+ "typeParameters": [
965
+ {
966
+ "typeParameterName": "TElement",
967
+ "constraintTokenRange": {
968
+ "startIndex": 0,
969
+ "endIndex": 0
970
+ },
971
+ "defaultTypeTokenRange": {
972
+ "startIndex": 1,
973
+ "endIndex": 2
974
+ }
975
+ }
976
+ ],
977
+ "name": "fixture"
978
+ },
979
+ {
980
+ "kind": "Interface",
981
+ "canonicalReference": "@genesislcap/foundation-testing!Fixture:interface",
982
+ "docComment": "/**\n * Unit test fixture.\n *\n * @public\n */\n",
983
+ "excerptTokens": [
984
+ {
985
+ "kind": "Content",
986
+ "text": "export interface Fixture<TElement = "
987
+ },
988
+ {
989
+ "kind": "Reference",
990
+ "text": "HTMLElement",
991
+ "canonicalReference": "!HTMLElement:interface"
992
+ },
993
+ {
994
+ "kind": "Content",
995
+ "text": "> "
996
+ }
997
+ ],
998
+ "fileUrlPath": "src/component/fixture.ts",
999
+ "releaseTag": "Public",
1000
+ "typeParameters": [
1001
+ {
1002
+ "typeParameterName": "TElement",
1003
+ "constraintTokenRange": {
1004
+ "startIndex": 0,
1005
+ "endIndex": 0
1006
+ },
1007
+ "defaultTypeTokenRange": {
1008
+ "startIndex": 1,
1009
+ "endIndex": 2
1010
+ }
1011
+ }
1012
+ ],
1013
+ "name": "Fixture",
1014
+ "preserveMemberOrder": false,
1015
+ "members": [
1016
+ {
1017
+ "kind": "MethodSignature",
1018
+ "canonicalReference": "@genesislcap/foundation-testing!Fixture#connect:member(1)",
1019
+ "docComment": "/**\n * Adds the {@link Fixture.parent} to the DOM, causing the connect lifecycle to begin.\n *\n * @remarks\n *\n * Yields control to the caller one Microtask later, in order to ensure that the DOM has settled.\n */\n",
1020
+ "excerptTokens": [
1021
+ {
1022
+ "kind": "Content",
1023
+ "text": "connect(): "
1024
+ },
1025
+ {
1026
+ "kind": "Reference",
1027
+ "text": "Promise",
1028
+ "canonicalReference": "!Promise:interface"
1029
+ },
1030
+ {
1031
+ "kind": "Content",
1032
+ "text": "<void>"
1033
+ },
1034
+ {
1035
+ "kind": "Content",
1036
+ "text": ";"
1037
+ }
1038
+ ],
1039
+ "isOptional": false,
1040
+ "returnTypeTokenRange": {
1041
+ "startIndex": 1,
1042
+ "endIndex": 3
1043
+ },
1044
+ "releaseTag": "Public",
1045
+ "overloadIndex": 1,
1046
+ "parameters": [],
1047
+ "name": "connect"
1048
+ },
1049
+ {
1050
+ "kind": "MethodSignature",
1051
+ "canonicalReference": "@genesislcap/foundation-testing!Fixture#disconnect:member(1)",
1052
+ "docComment": "/**\n * Removes the {@link Fixture.parent} from the DOM, causing the disconnect lifecycle to begin.\n *\n * @remarks\n *\n * Yields control to the caller one Microtask later, in order to ensure that the DOM has settled.\n */\n",
1053
+ "excerptTokens": [
1054
+ {
1055
+ "kind": "Content",
1056
+ "text": "disconnect(): "
1057
+ },
1058
+ {
1059
+ "kind": "Reference",
1060
+ "text": "Promise",
1061
+ "canonicalReference": "!Promise:interface"
1062
+ },
1063
+ {
1064
+ "kind": "Content",
1065
+ "text": "<void>"
1066
+ },
1067
+ {
1068
+ "kind": "Content",
1069
+ "text": ";"
1070
+ }
1071
+ ],
1072
+ "isOptional": false,
1073
+ "returnTypeTokenRange": {
1074
+ "startIndex": 1,
1075
+ "endIndex": 3
1076
+ },
1077
+ "releaseTag": "Public",
1078
+ "overloadIndex": 1,
1079
+ "parameters": [],
1080
+ "name": "disconnect"
1081
+ },
1082
+ {
1083
+ "kind": "PropertySignature",
1084
+ "canonicalReference": "@genesislcap/foundation-testing!Fixture#document:member",
1085
+ "docComment": "/**\n * The document the fixture is running in.\n */\n",
1086
+ "excerptTokens": [
1087
+ {
1088
+ "kind": "Content",
1089
+ "text": "document: "
1090
+ },
1091
+ {
1092
+ "kind": "Reference",
1093
+ "text": "Document",
1094
+ "canonicalReference": "!Document:interface"
1095
+ },
1096
+ {
1097
+ "kind": "Content",
1098
+ "text": ";"
1099
+ }
1100
+ ],
1101
+ "isReadonly": false,
1102
+ "isOptional": false,
1103
+ "releaseTag": "Public",
1104
+ "name": "document",
1105
+ "propertyTypeTokenRange": {
1106
+ "startIndex": 1,
1107
+ "endIndex": 2
1108
+ }
1109
+ },
1110
+ {
1111
+ "kind": "PropertySignature",
1112
+ "canonicalReference": "@genesislcap/foundation-testing!Fixture#element:member",
1113
+ "docComment": "/**\n * The first element in the {@link Fixture.view}.\n */\n",
1114
+ "excerptTokens": [
1115
+ {
1116
+ "kind": "Content",
1117
+ "text": "element: "
1118
+ },
1119
+ {
1120
+ "kind": "Content",
1121
+ "text": "TElement"
1122
+ },
1123
+ {
1124
+ "kind": "Content",
1125
+ "text": ";"
1126
+ }
1127
+ ],
1128
+ "isReadonly": false,
1129
+ "isOptional": false,
1130
+ "releaseTag": "Public",
1131
+ "name": "element",
1132
+ "propertyTypeTokenRange": {
1133
+ "startIndex": 1,
1134
+ "endIndex": 2
1135
+ }
1136
+ },
1137
+ {
1138
+ "kind": "PropertySignature",
1139
+ "canonicalReference": "@genesislcap/foundation-testing!Fixture#parent:member",
1140
+ "docComment": "/**\n * The parent element that the view was appended to.\n *\n * @remarks\n *\n * This element will be appended to the DOM only after {@link Fixture.connect} has been called.\n */\n",
1141
+ "excerptTokens": [
1142
+ {
1143
+ "kind": "Content",
1144
+ "text": "parent: "
1145
+ },
1146
+ {
1147
+ "kind": "Reference",
1148
+ "text": "HTMLElement",
1149
+ "canonicalReference": "!HTMLElement:interface"
1150
+ },
1151
+ {
1152
+ "kind": "Content",
1153
+ "text": ";"
1154
+ }
1155
+ ],
1156
+ "isReadonly": false,
1157
+ "isOptional": false,
1158
+ "releaseTag": "Public",
1159
+ "name": "parent",
1160
+ "propertyTypeTokenRange": {
1161
+ "startIndex": 1,
1162
+ "endIndex": 2
1163
+ }
1164
+ },
1165
+ {
1166
+ "kind": "PropertySignature",
1167
+ "canonicalReference": "@genesislcap/foundation-testing!Fixture#template:member",
1168
+ "docComment": "/**\n * The template the fixture was created from.\n */\n",
1169
+ "excerptTokens": [
1170
+ {
1171
+ "kind": "Content",
1172
+ "text": "template: "
1173
+ },
1174
+ {
1175
+ "kind": "Reference",
1176
+ "text": "ViewTemplate",
1177
+ "canonicalReference": "@microsoft/fast-element!ViewTemplate:class"
1178
+ },
1179
+ {
1180
+ "kind": "Content",
1181
+ "text": ";"
1182
+ }
1183
+ ],
1184
+ "isReadonly": false,
1185
+ "isOptional": false,
1186
+ "releaseTag": "Public",
1187
+ "name": "template",
1188
+ "propertyTypeTokenRange": {
1189
+ "startIndex": 1,
1190
+ "endIndex": 2
1191
+ }
1192
+ },
1193
+ {
1194
+ "kind": "PropertySignature",
1195
+ "canonicalReference": "@genesislcap/foundation-testing!Fixture#view:member",
1196
+ "docComment": "/**\n * The view that was created from the fixture's template.\n */\n",
1197
+ "excerptTokens": [
1198
+ {
1199
+ "kind": "Content",
1200
+ "text": "view: "
1201
+ },
1202
+ {
1203
+ "kind": "Reference",
1204
+ "text": "HTMLView",
1205
+ "canonicalReference": "@microsoft/fast-element!HTMLView:class"
1206
+ },
1207
+ {
1208
+ "kind": "Content",
1209
+ "text": ";"
1210
+ }
1211
+ ],
1212
+ "isReadonly": false,
1213
+ "isOptional": false,
1214
+ "releaseTag": "Public",
1215
+ "name": "view",
1216
+ "propertyTypeTokenRange": {
1217
+ "startIndex": 1,
1218
+ "endIndex": 2
1219
+ }
1220
+ }
1221
+ ],
1222
+ "extendsTokenRanges": []
1223
+ },
1224
+ {
1225
+ "kind": "Interface",
1226
+ "canonicalReference": "@genesislcap/foundation-testing!FixtureOptions:interface",
1227
+ "docComment": "/**\n * Options used to customize the creation of the unit test fixture.\n *\n * @public\n */\n",
1228
+ "excerptTokens": [
1229
+ {
1230
+ "kind": "Content",
1231
+ "text": "export interface FixtureOptions "
1232
+ }
1233
+ ],
1234
+ "fileUrlPath": "src/component/fixture.ts",
1235
+ "releaseTag": "Public",
1236
+ "name": "FixtureOptions",
1237
+ "preserveMemberOrder": false,
1238
+ "members": [
1239
+ {
1240
+ "kind": "PropertySignature",
1241
+ "canonicalReference": "@genesislcap/foundation-testing!FixtureOptions#context:member",
1242
+ "docComment": "/**\n * The execution context to use during binding.\n *\n * @defaultValue\n *\n * {@link @microsoft/fast-element#defaultExecutionContext}\n */\n",
1243
+ "excerptTokens": [
1244
+ {
1245
+ "kind": "Content",
1246
+ "text": "context?: "
1247
+ },
1248
+ {
1249
+ "kind": "Reference",
1250
+ "text": "ExecutionContext",
1251
+ "canonicalReference": "@microsoft/fast-element!ExecutionContext:class"
1252
+ },
1253
+ {
1254
+ "kind": "Content",
1255
+ "text": ";"
1256
+ }
1257
+ ],
1258
+ "isReadonly": false,
1259
+ "isOptional": true,
1260
+ "releaseTag": "Public",
1261
+ "name": "context",
1262
+ "propertyTypeTokenRange": {
1263
+ "startIndex": 1,
1264
+ "endIndex": 2
1265
+ }
1266
+ },
1267
+ {
1268
+ "kind": "PropertySignature",
1269
+ "canonicalReference": "@genesislcap/foundation-testing!FixtureOptions#designSystem:member",
1270
+ "docComment": "/**\n * A pre-configured design system instance used in setting up the fixture.\n */\n",
1271
+ "excerptTokens": [
1272
+ {
1273
+ "kind": "Content",
1274
+ "text": "designSystem?: "
1275
+ },
1276
+ {
1277
+ "kind": "Reference",
1278
+ "text": "DesignSystem",
1279
+ "canonicalReference": "@microsoft/fast-foundation!DesignSystem:interface"
1280
+ },
1281
+ {
1282
+ "kind": "Content",
1283
+ "text": ";"
1284
+ }
1285
+ ],
1286
+ "isReadonly": false,
1287
+ "isOptional": true,
1288
+ "releaseTag": "Public",
1289
+ "name": "designSystem",
1290
+ "propertyTypeTokenRange": {
1291
+ "startIndex": 1,
1292
+ "endIndex": 2
1293
+ }
1294
+ },
1295
+ {
1296
+ "kind": "PropertySignature",
1297
+ "canonicalReference": "@genesislcap/foundation-testing!FixtureOptions#document:member",
1298
+ "docComment": "/**\n * The document to run the fixture in.\n *\n * @defaultValue\n *\n * `globalThis.document`\n */\n",
1299
+ "excerptTokens": [
1300
+ {
1301
+ "kind": "Content",
1302
+ "text": "document?: "
1303
+ },
1304
+ {
1305
+ "kind": "Reference",
1306
+ "text": "Document",
1307
+ "canonicalReference": "!Document:interface"
1308
+ },
1309
+ {
1310
+ "kind": "Content",
1311
+ "text": ";"
1312
+ }
1313
+ ],
1314
+ "isReadonly": false,
1315
+ "isOptional": true,
1316
+ "releaseTag": "Public",
1317
+ "name": "document",
1318
+ "propertyTypeTokenRange": {
1319
+ "startIndex": 1,
1320
+ "endIndex": 2
1321
+ }
1322
+ },
1323
+ {
1324
+ "kind": "PropertySignature",
1325
+ "canonicalReference": "@genesislcap/foundation-testing!FixtureOptions#parent:member",
1326
+ "docComment": "/**\n * The parent element to append the fixture to.\n *\n * @defaultValue\n *\n * An instance of `HTMLDivElement`.\n */\n",
1327
+ "excerptTokens": [
1328
+ {
1329
+ "kind": "Content",
1330
+ "text": "parent?: "
1331
+ },
1332
+ {
1333
+ "kind": "Reference",
1334
+ "text": "HTMLElement",
1335
+ "canonicalReference": "!HTMLElement:interface"
1336
+ },
1337
+ {
1338
+ "kind": "Content",
1339
+ "text": ";"
1340
+ }
1341
+ ],
1342
+ "isReadonly": false,
1343
+ "isOptional": true,
1344
+ "releaseTag": "Public",
1345
+ "name": "parent",
1346
+ "propertyTypeTokenRange": {
1347
+ "startIndex": 1,
1348
+ "endIndex": 2
1349
+ }
1350
+ },
1351
+ {
1352
+ "kind": "PropertySignature",
1353
+ "canonicalReference": "@genesislcap/foundation-testing!FixtureOptions#source:member",
1354
+ "docComment": "/**\n * The data source to bind the HTML to.\n *\n * @defaultValue\n *\n * An empty object.\n */\n",
1355
+ "excerptTokens": [
1356
+ {
1357
+ "kind": "Content",
1358
+ "text": "source?: "
1359
+ },
1360
+ {
1361
+ "kind": "Content",
1362
+ "text": "any"
1363
+ },
1364
+ {
1365
+ "kind": "Content",
1366
+ "text": ";"
1367
+ }
1368
+ ],
1369
+ "isReadonly": false,
1370
+ "isOptional": true,
1371
+ "releaseTag": "Public",
1372
+ "name": "source",
1373
+ "propertyTypeTokenRange": {
1374
+ "startIndex": 1,
1375
+ "endIndex": 2
1376
+ }
1377
+ }
1378
+ ],
1379
+ "extendsTokenRanges": []
1380
+ },
1381
+ {
1382
+ "kind": "Variable",
1383
+ "canonicalReference": "@genesislcap/foundation-testing!logger:var",
1384
+ "docComment": "/**\n * Test logger\n *\n * @remarks\n *\n * Exported so you can set log levels differently across packages when needed.\n *\n * @public\n */\n",
1385
+ "excerptTokens": [
1386
+ {
1387
+ "kind": "Content",
1388
+ "text": "logger: "
1389
+ },
1390
+ {
1391
+ "kind": "Content",
1392
+ "text": "import(\"@genesislcap/foundation-utils\")."
1393
+ },
1394
+ {
1395
+ "kind": "Reference",
1396
+ "text": "Logger",
1397
+ "canonicalReference": "@genesislcap/foundation-utils!Logger:interface"
1398
+ }
1399
+ ],
1400
+ "fileUrlPath": "src/utils/logger.ts",
1401
+ "isReadonly": true,
1402
+ "releaseTag": "Public",
1403
+ "name": "logger",
1404
+ "variableTypeTokenRange": {
1405
+ "startIndex": 1,
1406
+ "endIndex": 3
1407
+ }
1408
+ },
1409
+ {
1410
+ "kind": "Interface",
1411
+ "canonicalReference": "@genesislcap/foundation-testing!LogicContext:interface",
1412
+ "docComment": "/**\n * Logic suite context interface\n *\n * @public\n */\n",
1413
+ "excerptTokens": [
1414
+ {
1415
+ "kind": "Content",
1416
+ "text": "export interface LogicContext "
1417
+ }
1418
+ ],
1419
+ "fileUrlPath": "src/suite/suite.ts",
1420
+ "releaseTag": "Public",
1421
+ "name": "LogicContext",
1422
+ "preserveMemberOrder": false,
1423
+ "members": [
1424
+ {
1425
+ "kind": "MethodSignature",
1426
+ "canonicalReference": "@genesislcap/foundation-testing!LogicContext#runCases:member(1)",
1427
+ "docComment": "",
1428
+ "excerptTokens": [
1429
+ {
1430
+ "kind": "Content",
1431
+ "text": "runCases?(fn: "
1432
+ },
1433
+ {
1434
+ "kind": "Content",
1435
+ "text": "(value: any) => any"
1436
+ },
1437
+ {
1438
+ "kind": "Content",
1439
+ "text": ", cases: "
1440
+ },
1441
+ {
1442
+ "kind": "Content",
1443
+ "text": "[any, any, "
1444
+ },
1445
+ {
1446
+ "kind": "Reference",
1447
+ "text": "assert.Message",
1448
+ "canonicalReference": "uvu!Message:type"
1449
+ },
1450
+ {
1451
+ "kind": "Content",
1452
+ "text": "?][]"
1453
+ },
1454
+ {
1455
+ "kind": "Content",
1456
+ "text": "): "
1457
+ },
1458
+ {
1459
+ "kind": "Content",
1460
+ "text": "void"
1461
+ },
1462
+ {
1463
+ "kind": "Content",
1464
+ "text": ";"
1465
+ }
1466
+ ],
1467
+ "isOptional": true,
1468
+ "returnTypeTokenRange": {
1469
+ "startIndex": 7,
1470
+ "endIndex": 8
1471
+ },
1472
+ "releaseTag": "Public",
1473
+ "overloadIndex": 1,
1474
+ "parameters": [
1475
+ {
1476
+ "parameterName": "fn",
1477
+ "parameterTypeTokenRange": {
1478
+ "startIndex": 1,
1479
+ "endIndex": 2
1480
+ },
1481
+ "isOptional": false
1482
+ },
1483
+ {
1484
+ "parameterName": "cases",
1485
+ "parameterTypeTokenRange": {
1486
+ "startIndex": 3,
1487
+ "endIndex": 6
1488
+ },
1489
+ "isOptional": false
1490
+ }
1491
+ ],
1492
+ "name": "runCases"
1493
+ }
1494
+ ],
1495
+ "extendsTokenRanges": []
1496
+ },
1497
+ {
1498
+ "kind": "Function",
1499
+ "canonicalReference": "@genesislcap/foundation-testing!resetTestHarness:function(1)",
1500
+ "docComment": "/**\n * Resets the history of the spied functions on the objects so previous running tests don't affect the current test. Must be called at the end of every test even if not asserting on the spies.\n *\n * @param wrapper - `WithTestHarness<T>` object to reset\n *\n * @public\n */\n",
1501
+ "excerptTokens": [
1502
+ {
1503
+ "kind": "Content",
1504
+ "text": "export declare function resetTestHarness<T>(wrapper: "
1505
+ },
1506
+ {
1507
+ "kind": "Reference",
1508
+ "text": "WithTestHarness",
1509
+ "canonicalReference": "@genesislcap/foundation-testing!WithTestHarness:type"
1510
+ },
1511
+ {
1512
+ "kind": "Content",
1513
+ "text": "<T>"
1514
+ },
1515
+ {
1516
+ "kind": "Content",
1517
+ "text": "): "
1518
+ },
1519
+ {
1520
+ "kind": "Content",
1521
+ "text": "void"
1522
+ },
1523
+ {
1524
+ "kind": "Content",
1525
+ "text": ";"
1526
+ }
1527
+ ],
1528
+ "fileUrlPath": "src/utils/harness.ts",
1529
+ "returnTypeTokenRange": {
1530
+ "startIndex": 4,
1531
+ "endIndex": 5
1532
+ },
1533
+ "releaseTag": "Public",
1534
+ "overloadIndex": 1,
1535
+ "parameters": [
1536
+ {
1537
+ "parameterName": "wrapper",
1538
+ "parameterTypeTokenRange": {
1539
+ "startIndex": 1,
1540
+ "endIndex": 3
1541
+ },
1542
+ "isOptional": false
1543
+ }
1544
+ ],
1545
+ "typeParameters": [
1546
+ {
1547
+ "typeParameterName": "T",
1548
+ "constraintTokenRange": {
1549
+ "startIndex": 0,
1550
+ "endIndex": 0
1551
+ },
1552
+ "defaultTypeTokenRange": {
1553
+ "startIndex": 0,
1554
+ "endIndex": 0
1555
+ }
1556
+ }
1557
+ ],
1558
+ "name": "resetTestHarness"
1559
+ },
1560
+ {
1561
+ "kind": "Function",
1562
+ "canonicalReference": "@genesislcap/foundation-testing!restoreTestHarness:function(1)",
1563
+ "docComment": "/**\n * Restores the spied functions back to the original functions without the spies.\n *\n * @param wrapper - `WithTestHarness<T>` object to restore\n *\n * @public\n */\n",
1564
+ "excerptTokens": [
1565
+ {
1566
+ "kind": "Content",
1567
+ "text": "export declare function restoreTestHarness<T>(wrapper: "
1568
+ },
1569
+ {
1570
+ "kind": "Reference",
1571
+ "text": "WithTestHarness",
1572
+ "canonicalReference": "@genesislcap/foundation-testing!WithTestHarness:type"
1573
+ },
1574
+ {
1575
+ "kind": "Content",
1576
+ "text": "<T>"
1577
+ },
1578
+ {
1579
+ "kind": "Content",
1580
+ "text": "): "
1581
+ },
1582
+ {
1583
+ "kind": "Content",
1584
+ "text": "void"
1585
+ },
1586
+ {
1587
+ "kind": "Content",
1588
+ "text": ";"
1589
+ }
1590
+ ],
1591
+ "fileUrlPath": "src/utils/harness.ts",
1592
+ "returnTypeTokenRange": {
1593
+ "startIndex": 4,
1594
+ "endIndex": 5
1595
+ },
1596
+ "releaseTag": "Public",
1597
+ "overloadIndex": 1,
1598
+ "parameters": [
1599
+ {
1600
+ "parameterName": "wrapper",
1601
+ "parameterTypeTokenRange": {
1602
+ "startIndex": 1,
1603
+ "endIndex": 3
1604
+ },
1605
+ "isOptional": false
1606
+ }
1607
+ ],
1608
+ "typeParameters": [
1609
+ {
1610
+ "typeParameterName": "T",
1611
+ "constraintTokenRange": {
1612
+ "startIndex": 0,
1613
+ "endIndex": 0
1614
+ },
1615
+ "defaultTypeTokenRange": {
1616
+ "startIndex": 0,
1617
+ "endIndex": 0
1618
+ }
1619
+ }
1620
+ ],
1621
+ "name": "restoreTestHarness"
1622
+ },
1623
+ {
1624
+ "kind": "Function",
1625
+ "canonicalReference": "@genesislcap/foundation-testing!runCases:function(1)",
1626
+ "docComment": "/**\n * Assert a set of test cases.\n *\n * @remarks\n *\n * This is available as part of the suite context, but can also be run standalone.\n *\n * @param fn - The function to test.\n *\n * @param cases - An array of test cases to run against the function.\n *\n * @param assertion - Optional uvu assertion method, defaults to assert.equal.\n *\n * @public\n */\n",
1627
+ "excerptTokens": [
1628
+ {
1629
+ "kind": "Content",
1630
+ "text": "export declare function runCases(fn: "
1631
+ },
1632
+ {
1633
+ "kind": "Content",
1634
+ "text": "(...args: unknown[]) => unknown"
1635
+ },
1636
+ {
1637
+ "kind": "Content",
1638
+ "text": ", cases: "
1639
+ },
1640
+ {
1641
+ "kind": "Content",
1642
+ "text": "[unknown[], unknown, string?][]"
1643
+ },
1644
+ {
1645
+ "kind": "Content",
1646
+ "text": ", assertion?: "
1647
+ },
1648
+ {
1649
+ "kind": "Content",
1650
+ "text": "(...args: unknown[]) => void"
1651
+ },
1652
+ {
1653
+ "kind": "Content",
1654
+ "text": "): "
1655
+ },
1656
+ {
1657
+ "kind": "Content",
1658
+ "text": "void"
1659
+ },
1660
+ {
1661
+ "kind": "Content",
1662
+ "text": ";"
1663
+ }
1664
+ ],
1665
+ "fileUrlPath": "src/suite/suite.ts",
1666
+ "returnTypeTokenRange": {
1667
+ "startIndex": 7,
1668
+ "endIndex": 8
1669
+ },
1670
+ "releaseTag": "Public",
1671
+ "overloadIndex": 1,
1672
+ "parameters": [
1673
+ {
1674
+ "parameterName": "fn",
1675
+ "parameterTypeTokenRange": {
1676
+ "startIndex": 1,
1677
+ "endIndex": 2
1678
+ },
1679
+ "isOptional": false
1680
+ },
1681
+ {
1682
+ "parameterName": "cases",
1683
+ "parameterTypeTokenRange": {
1684
+ "startIndex": 3,
1685
+ "endIndex": 4
1686
+ },
1687
+ "isOptional": false
1688
+ },
1689
+ {
1690
+ "parameterName": "assertion",
1691
+ "parameterTypeTokenRange": {
1692
+ "startIndex": 5,
1693
+ "endIndex": 6
1694
+ },
1695
+ "isOptional": true
1696
+ }
1697
+ ],
1698
+ "name": "runCases"
1699
+ },
1700
+ {
1701
+ "kind": "TypeAlias",
1702
+ "canonicalReference": "@genesislcap/foundation-testing!RunCases:type",
1703
+ "docComment": "/**\n * @public\n */\n",
1704
+ "excerptTokens": [
1705
+ {
1706
+ "kind": "Content",
1707
+ "text": "export type RunCases = "
1708
+ },
1709
+ {
1710
+ "kind": "Content",
1711
+ "text": "(fn: (...args: unknown[]) => unknown, cases: [unknown[], unknown, string?][], assertion?: (...args: unknown[]) => void) => void"
1712
+ },
1713
+ {
1714
+ "kind": "Content",
1715
+ "text": ";"
1716
+ }
1717
+ ],
1718
+ "fileUrlPath": "src/suite/suite.ts",
1719
+ "releaseTag": "Public",
1720
+ "name": "RunCases",
1721
+ "typeTokenRange": {
1722
+ "startIndex": 1,
1723
+ "endIndex": 2
1724
+ }
1725
+ },
1726
+ {
1727
+ "kind": "TypeAlias",
1728
+ "canonicalReference": "@genesislcap/foundation-testing!SinonWrapper:type",
1729
+ "docComment": "/**\n * Crates an object with a key value pair for each spied function where the key is the function name and the value is the sinon wrapped spy function\n *\n * @typeParam T - object with keys where values are functions\n *\n * @public\n */\n",
1730
+ "excerptTokens": [
1731
+ {
1732
+ "kind": "Content",
1733
+ "text": "export type SinonWrapper<T extends "
1734
+ },
1735
+ {
1736
+ "kind": "Content",
1737
+ "text": "{\n [K in keyof T]: (...args: any) => any;\n}"
1738
+ },
1739
+ {
1740
+ "kind": "Content",
1741
+ "text": "> = "
1742
+ },
1743
+ {
1744
+ "kind": "Content",
1745
+ "text": "{\n [K in keyof T]: "
1746
+ },
1747
+ {
1748
+ "kind": "Reference",
1749
+ "text": "sinon.SinonSpy",
1750
+ "canonicalReference": "@types/sinon!Sinon.SinonSpy:interface"
1751
+ },
1752
+ {
1753
+ "kind": "Content",
1754
+ "text": "<"
1755
+ },
1756
+ {
1757
+ "kind": "Reference",
1758
+ "text": "Parameters",
1759
+ "canonicalReference": "!Parameters:type"
1760
+ },
1761
+ {
1762
+ "kind": "Content",
1763
+ "text": "<T[K]>, "
1764
+ },
1765
+ {
1766
+ "kind": "Reference",
1767
+ "text": "ReturnType",
1768
+ "canonicalReference": "!ReturnType:type"
1769
+ },
1770
+ {
1771
+ "kind": "Content",
1772
+ "text": "<T[K]>>;\n}"
1773
+ },
1774
+ {
1775
+ "kind": "Content",
1776
+ "text": ";"
1777
+ }
1778
+ ],
1779
+ "fileUrlPath": "src/utils/harness.ts",
1780
+ "releaseTag": "Public",
1781
+ "name": "SinonWrapper",
1782
+ "typeParameters": [
1783
+ {
1784
+ "typeParameterName": "T",
1785
+ "constraintTokenRange": {
1786
+ "startIndex": 1,
1787
+ "endIndex": 2
1788
+ },
1789
+ "defaultTypeTokenRange": {
1790
+ "startIndex": 0,
1791
+ "endIndex": 0
1792
+ }
1793
+ }
1794
+ ],
1795
+ "typeTokenRange": {
1796
+ "startIndex": 3,
1797
+ "endIndex": 10
1798
+ }
1799
+ },
1800
+ {
1801
+ "kind": "TypeAlias",
1802
+ "canonicalReference": "@genesislcap/foundation-testing!SpiedFunctions:type",
1803
+ "docComment": "/**\n * Filters out all key/value pairs which are not functions, and omits the constructor\n *\n * @public\n */\n",
1804
+ "excerptTokens": [
1805
+ {
1806
+ "kind": "Content",
1807
+ "text": "export type SpiedFunctions<T> = "
1808
+ },
1809
+ {
1810
+ "kind": "Reference",
1811
+ "text": "Omit",
1812
+ "canonicalReference": "!Omit:type"
1813
+ },
1814
+ {
1815
+ "kind": "Content",
1816
+ "text": "<"
1817
+ },
1818
+ {
1819
+ "kind": "Reference",
1820
+ "text": "FilterConditionally",
1821
+ "canonicalReference": "@genesislcap/foundation-testing!FilterConditionally:type"
1822
+ },
1823
+ {
1824
+ "kind": "Content",
1825
+ "text": "<T, (...args: any[]) => any>, 'constructor'>"
1826
+ },
1827
+ {
1828
+ "kind": "Content",
1829
+ "text": ";"
1830
+ }
1831
+ ],
1832
+ "fileUrlPath": "src/utils/harness.ts",
1833
+ "releaseTag": "Public",
1834
+ "name": "SpiedFunctions",
1835
+ "typeParameters": [
1836
+ {
1837
+ "typeParameterName": "T",
1838
+ "constraintTokenRange": {
1839
+ "startIndex": 0,
1840
+ "endIndex": 0
1841
+ },
1842
+ "defaultTypeTokenRange": {
1843
+ "startIndex": 0,
1844
+ "endIndex": 0
1845
+ }
1846
+ }
1847
+ ],
1848
+ "typeTokenRange": {
1849
+ "startIndex": 1,
1850
+ "endIndex": 5
1851
+ }
1852
+ },
1853
+ {
1854
+ "kind": "TypeAlias",
1855
+ "canonicalReference": "@genesislcap/foundation-testing!SuiteCallback:type",
1856
+ "docComment": "/**\n * Defines the Generic type for a test Suite `T` the callback function required to assert on type `T`.\n *\n * @typeParam T - the top level class we are testing\n *\n * @public\n */\n",
1857
+ "excerptTokens": [
1858
+ {
1859
+ "kind": "Content",
1860
+ "text": "export type SuiteCallback<T> = "
1861
+ },
1862
+ {
1863
+ "kind": "Reference",
1864
+ "text": "uvu.Callback",
1865
+ "canonicalReference": "uvu!uvu.Callback:type"
1866
+ },
1867
+ {
1868
+ "kind": "Content",
1869
+ "text": "<"
1870
+ },
1871
+ {
1872
+ "kind": "Reference",
1873
+ "text": "ComponentContext",
1874
+ "canonicalReference": "@genesislcap/foundation-testing!ComponentContext:interface"
1875
+ },
1876
+ {
1877
+ "kind": "Content",
1878
+ "text": "<T>>"
1879
+ },
1880
+ {
1881
+ "kind": "Content",
1882
+ "text": ";"
1883
+ }
1884
+ ],
1885
+ "fileUrlPath": "src/suite/suite.ts",
1886
+ "releaseTag": "Public",
1887
+ "name": "SuiteCallback",
1888
+ "typeParameters": [
1889
+ {
1890
+ "typeParameterName": "T",
1891
+ "constraintTokenRange": {
1892
+ "startIndex": 0,
1893
+ "endIndex": 0
1894
+ },
1895
+ "defaultTypeTokenRange": {
1896
+ "startIndex": 0,
1897
+ "endIndex": 0
1898
+ }
1899
+ }
1900
+ ],
1901
+ "typeTokenRange": {
1902
+ "startIndex": 1,
1903
+ "endIndex": 5
1904
+ }
1905
+ },
1906
+ {
1907
+ "kind": "Function",
1908
+ "canonicalReference": "@genesislcap/foundation-testing!testSpy:function(1)",
1909
+ "docComment": "/**\n * Decorator: Used on a test harness class based on a `FoundationElement` to give it extra functionality which can be used during testing. *Important* this is to be used on a parent element compared to the element under test.\n *\n * @remarks\n *\n * Access the test functionality using the type with {@link WithTestHarness}\n *\n * Reset after each test with {@link resetTestHarness}\n *\n * @example\n *\n * // Testing the first function call async (\\{ element \\}) =\\> \\{\n *\n * assert.ok( element.layout.addItemFromChild.calledWith(\\{ type: 'component', componentType: 'test', title: `Item test`, reorderEnabled: true, isClosable: false, size: undefined, \\}) );\n *\n * // Reset the tester at the end of every test even if you don't assert on any of it! resetTestHarness(element.layout); \\}\n *\n * @public\n */\n",
1910
+ "excerptTokens": [
1911
+ {
1912
+ "kind": "Content",
1913
+ "text": "export declare function testSpy(constructor: "
1914
+ },
1915
+ {
1916
+ "kind": "Reference",
1917
+ "text": "Function",
1918
+ "canonicalReference": "!Function:interface"
1919
+ },
1920
+ {
1921
+ "kind": "Content",
1922
+ "text": "): "
1923
+ },
1924
+ {
1925
+ "kind": "Content",
1926
+ "text": "void"
1927
+ },
1928
+ {
1929
+ "kind": "Content",
1930
+ "text": ";"
1931
+ }
1932
+ ],
1933
+ "fileUrlPath": "src/utils/harness.ts",
1934
+ "returnTypeTokenRange": {
1935
+ "startIndex": 3,
1936
+ "endIndex": 4
1937
+ },
1938
+ "releaseTag": "Public",
1939
+ "overloadIndex": 1,
1940
+ "parameters": [
1941
+ {
1942
+ "parameterName": "constructor",
1943
+ "parameterTypeTokenRange": {
1944
+ "startIndex": 1,
1945
+ "endIndex": 2
1946
+ },
1947
+ "isOptional": false
1948
+ }
1949
+ ],
1950
+ "name": "testSpy"
1951
+ },
1952
+ {
1953
+ "kind": "Variable",
1954
+ "canonicalReference": "@genesislcap/foundation-testing!timeout:var",
1955
+ "docComment": "/**\n * Timeout utility.\n *\n * @param callback - The async test function.\n *\n * @param duration - An optional duration in milliseconds. Defaults to 5_000.\n *\n * @example\n *\n * A promise that never ends.\n * ```ts\n * test(\n * 'should fail',\n * timeout(async () => {\n * await new Promise(() => {});\n * assert.ok(true);\n * }, 5_000),\n * );\n * ```\n *\n * @example\n *\n * A slow API.\n * ```ts\n * test(\n * 'should fail',\n * timeout(async () => {\n * const slowMockAPI = delayedResolve({ foo: 'bar' }, 4_000);\n * await slowMockAPI();\n * assert.unreachable('should have timed out');\n * }, 2_000),\n * );\n * ```\n *\n * @public\n */\n",
1956
+ "excerptTokens": [
1957
+ {
1958
+ "kind": "Content",
1959
+ "text": "timeout: "
1960
+ },
1961
+ {
1962
+ "kind": "Content",
1963
+ "text": "(callback: (context: any) => "
1964
+ },
1965
+ {
1966
+ "kind": "Reference",
1967
+ "text": "Promise",
1968
+ "canonicalReference": "!Promise:interface"
1969
+ },
1970
+ {
1971
+ "kind": "Content",
1972
+ "text": "<any>, duration?: number) => (context: any) => "
1973
+ },
1974
+ {
1975
+ "kind": "Reference",
1976
+ "text": "Promise",
1977
+ "canonicalReference": "!Promise:interface"
1978
+ },
1979
+ {
1980
+ "kind": "Content",
1981
+ "text": "<any>"
1982
+ }
1983
+ ],
1984
+ "fileUrlPath": "src/uvu/uvu.ts",
1985
+ "isReadonly": true,
1986
+ "releaseTag": "Public",
1987
+ "name": "timeout",
1988
+ "variableTypeTokenRange": {
1989
+ "startIndex": 1,
1990
+ "endIndex": 6
1991
+ }
1992
+ },
1993
+ {
1994
+ "kind": "TypeAlias",
1995
+ "canonicalReference": "@genesislcap/foundation-testing!WithTestHarness:type",
1996
+ "docComment": "/**\n * Type can be used to inform Typescript the object decorated with {@link testSpy} has function spies which can be interacted upon their normal function reference\n *\n * @public\n */\n",
1997
+ "excerptTokens": [
1998
+ {
1999
+ "kind": "Content",
2000
+ "text": "export type WithTestHarness<T extends "
2001
+ },
2002
+ {
2003
+ "kind": "Content",
2004
+ "text": "{\n [k in keyof T]: any;\n}"
2005
+ },
2006
+ {
2007
+ "kind": "Content",
2008
+ "text": "> = "
2009
+ },
2010
+ {
2011
+ "kind": "Content",
2012
+ "text": "T & "
2013
+ },
2014
+ {
2015
+ "kind": "Reference",
2016
+ "text": "SinonWrapper",
2017
+ "canonicalReference": "@genesislcap/foundation-testing!SinonWrapper:type"
2018
+ },
2019
+ {
2020
+ "kind": "Content",
2021
+ "text": "<"
2022
+ },
2023
+ {
2024
+ "kind": "Reference",
2025
+ "text": "SpiedFunctions",
2026
+ "canonicalReference": "@genesislcap/foundation-testing!SpiedFunctions:type"
2027
+ },
2028
+ {
2029
+ "kind": "Content",
2030
+ "text": "<T>>"
2031
+ },
2032
+ {
2033
+ "kind": "Content",
2034
+ "text": ";"
2035
+ }
2036
+ ],
2037
+ "fileUrlPath": "src/utils/harness.ts",
2038
+ "releaseTag": "Public",
2039
+ "name": "WithTestHarness",
2040
+ "typeParameters": [
2041
+ {
2042
+ "typeParameterName": "T",
2043
+ "constraintTokenRange": {
2044
+ "startIndex": 1,
2045
+ "endIndex": 2
2046
+ },
2047
+ "defaultTypeTokenRange": {
2048
+ "startIndex": 0,
2049
+ "endIndex": 0
2050
+ }
2051
+ }
2052
+ ],
2053
+ "typeTokenRange": {
2054
+ "startIndex": 3,
2055
+ "endIndex": 8
2056
+ }
2057
+ }
2058
+ ]
2059
+ }
2060
+ ]
2061
+ }