@signpostmarv/ts-assert 0.4.1 → 0.4.2

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,2882 @@
1
+ // oxlint-disable typescript/no-unsafe-member-access
2
+ // oxlint-disable typescript/no-unsafe-call
3
+ /* eslint-disable @stylistic/max-len */
4
+ import type {
5
+ AccessorDeclaration,
6
+ ArrayBindingElement,
7
+ ArrayBindingPattern,
8
+ ArrayLiteralExpression,
9
+ ArrayTypeNode,
10
+ ArrowFunction,
11
+ AsExpression,
12
+ AssertionExpression,
13
+ AssertsKeyword,
14
+ AsteriskToken,
15
+ AutoAccessorPropertyDeclaration,
16
+ AwaitExpression,
17
+ AwaitKeyword,
18
+ BigIntLiteral,
19
+ BinaryExpression,
20
+ BinaryOperatorToken,
21
+ BindingElement,
22
+ BindingName,
23
+ BindingPattern,
24
+ Block,
25
+ BreakOrContinueStatement,
26
+ BreakStatement,
27
+ Bundle,
28
+ CallChain,
29
+ CallExpression,
30
+ CallLikeExpression,
31
+ CallSignatureDeclaration,
32
+ CaseBlock,
33
+ CaseClause,
34
+ CaseOrDefaultClause,
35
+ CatchClause,
36
+ ClassDeclaration,
37
+ ClassElement,
38
+ ClassExpression,
39
+ ClassLikeDeclaration,
40
+ ClassStaticBlockDeclaration,
41
+ ColonToken,
42
+ CommaListExpression,
43
+ ComputedPropertyName,
44
+ ConciseBody,
45
+ ConditionalExpression,
46
+ ConditionalTypeNode,
47
+ ConstructorDeclaration,
48
+ ConstructorTypeNode,
49
+ ConstructSignatureDeclaration,
50
+ ContinueStatement,
51
+ DebuggerStatement,
52
+ DeclarationStatement,
53
+ Decorator,
54
+ DefaultClause,
55
+ DeleteExpression,
56
+ DoStatement,
57
+ DotDotDotToken,
58
+ ElementAccessChain,
59
+ ElementAccessExpression,
60
+ EmptyStatement,
61
+ EntityName,
62
+ EnumDeclaration,
63
+ EnumMember,
64
+ EqualsGreaterThanToken,
65
+ ExclamationToken,
66
+ ExportAssignment,
67
+ ExportDeclaration,
68
+ ExportSpecifier,
69
+ Expression,
70
+ ExpressionStatement,
71
+ ExpressionWithTypeArguments,
72
+ ExternalModuleReference,
73
+ ForInitializer,
74
+ ForInStatement,
75
+ ForOfStatement,
76
+ ForStatement,
77
+ FunctionDeclaration,
78
+ FunctionExpression,
79
+ FunctionTypeNode,
80
+ GetAccessorDeclaration,
81
+ HeritageClause,
82
+ Identifier,
83
+ IfStatement,
84
+ ImportAttribute,
85
+ ImportAttributeName,
86
+ ImportAttributes,
87
+ ImportClause,
88
+ ImportDeclaration,
89
+ ImportEqualsDeclaration,
90
+ ImportSpecifier,
91
+ ImportTypeNode,
92
+ IndexedAccessTypeNode,
93
+ IndexSignatureDeclaration,
94
+ InferTypeNode,
95
+ InterfaceDeclaration,
96
+ IntersectionTypeNode,
97
+ JSDoc,
98
+ JSDocAllType,
99
+ JSDocAugmentsTag,
100
+ JSDocAuthorTag,
101
+ JSDocCallbackTag,
102
+ JSDocClassTag,
103
+ JSDocDeprecatedTag,
104
+ JSDocEnumTag,
105
+ JSDocFunctionType,
106
+ JSDocImplementsTag,
107
+ JSDocImportTag,
108
+ JSDocLink,
109
+ JSDocLinkCode,
110
+ JSDocLinkPlain,
111
+ JSDocMemberName,
112
+ JSDocNamepathType,
113
+ JSDocNameReference,
114
+ JSDocNonNullableType,
115
+ JSDocNullableType,
116
+ JSDocOptionalType,
117
+ JSDocOverloadTag,
118
+ JSDocOverrideTag,
119
+ JSDocParameterTag,
120
+ JSDocPrivateTag,
121
+ JSDocPropertyLikeTag,
122
+ JSDocPropertyTag,
123
+ JSDocProtectedTag,
124
+ JSDocPublicTag,
125
+ JSDocReadonlyTag,
126
+ JSDocReturnTag,
127
+ JSDocSatisfiesTag,
128
+ JSDocSeeTag,
129
+ JSDocSignature,
130
+ JSDocTemplateTag,
131
+ JSDocThisTag,
132
+ JSDocThrowsTag,
133
+ JSDocTypedefTag,
134
+ JSDocTypeExpression,
135
+ JSDocTypeLiteral,
136
+ JSDocTypeTag,
137
+ JSDocUnknownTag,
138
+ JSDocUnknownType,
139
+ JSDocVariadicType,
140
+ JsxAttribute,
141
+ JsxAttributeLike,
142
+ JsxAttributes,
143
+ JsxCallLike,
144
+ JsxChild,
145
+ JsxClosingElement,
146
+ JsxClosingFragment,
147
+ JsxElement,
148
+ JsxExpression,
149
+ JsxFragment,
150
+ JsxNamespacedName,
151
+ JsxOpeningElement,
152
+ JsxOpeningFragment,
153
+ JsxOpeningLikeElement,
154
+ JsxSelfClosingElement,
155
+ JsxSpreadAttribute,
156
+ JsxTagNameExpression,
157
+ JsxText,
158
+ LabeledStatement,
159
+ LeftHandSideExpression,
160
+ LiteralExpression,
161
+ LiteralTypeNode,
162
+ MappedTypeNode,
163
+ MemberName,
164
+ MetaProperty,
165
+ MethodDeclaration,
166
+ MethodSignature,
167
+ MinusToken,
168
+ MissingDeclaration,
169
+ Modifier,
170
+ ModifierLike,
171
+ ModuleBlock,
172
+ ModuleBody,
173
+ ModuleDeclaration,
174
+ ModuleExportName,
175
+ ModuleName,
176
+ ModuleReference,
177
+ NamedExportBindings,
178
+ NamedExports,
179
+ NamedImportBindings,
180
+ NamedImports,
181
+ NamedTupleMember,
182
+ NamespaceExport,
183
+ NamespaceExportDeclaration,
184
+ NamespaceImport,
185
+ NewExpression,
186
+ Node,
187
+ NonNullChain,
188
+ NonNullExpression,
189
+ NoSubstitutionTemplateLiteral,
190
+ NotEmittedStatement,
191
+ NumericLiteral,
192
+ ObjectBindingPattern,
193
+ ObjectLiteralElement,
194
+ ObjectLiteralElementLike,
195
+ ObjectLiteralExpression,
196
+ OmittedExpression,
197
+ OptionalTypeNode,
198
+ ParameterDeclaration,
199
+ ParenthesizedExpression,
200
+ ParenthesizedTypeNode,
201
+ PartiallyEmittedExpression,
202
+ PlusToken,
203
+ PostfixUnaryExpression,
204
+ PrefixUnaryExpression,
205
+ PrivateIdentifier,
206
+ PropertyAccessChain,
207
+ PropertyAccessExpression,
208
+ PropertyAssignment,
209
+ PropertyDeclaration,
210
+ PropertyName,
211
+ PropertySignature,
212
+ QualifiedName,
213
+ QuestionDotToken,
214
+ QuestionToken,
215
+ RegularExpressionLiteral,
216
+ RestTypeNode,
217
+ ReturnStatement,
218
+ SatisfiesExpression,
219
+ SemicolonClassElement,
220
+ SetAccessorDeclaration,
221
+ ShorthandPropertyAssignment,
222
+ SourceFile,
223
+ SpreadAssignment,
224
+ SpreadElement,
225
+ Statement,
226
+ StringLiteral,
227
+ SwitchStatement,
228
+ SyntheticExpression,
229
+ TaggedTemplateExpression,
230
+ TemplateExpression,
231
+ TemplateHead,
232
+ TemplateLiteral,
233
+ TemplateLiteralToken,
234
+ TemplateLiteralTypeNode,
235
+ TemplateLiteralTypeSpan,
236
+ TemplateMiddle,
237
+ TemplateSpan,
238
+ TemplateTail,
239
+ ThisTypeNode,
240
+ ThrowStatement,
241
+ TryStatement,
242
+ TupleTypeNode,
243
+ TypeAliasDeclaration,
244
+ TypeAssertion,
245
+ TypeElement,
246
+ TypeLiteralNode,
247
+ TypeNode,
248
+ TypeOfExpression,
249
+ TypeOnlyAliasDeclaration,
250
+ TypeOnlyExportDeclaration,
251
+ TypeOnlyImportDeclaration,
252
+ TypeOperatorNode,
253
+ TypeParameterDeclaration,
254
+ TypePredicateNode,
255
+ TypeQueryNode,
256
+ TypeReferenceNode,
257
+ UnionTypeNode,
258
+ VariableDeclaration,
259
+ VariableDeclarationList,
260
+ VariableStatement,
261
+ VoidExpression,
262
+ WhileStatement,
263
+ WithStatement,
264
+ YieldExpression,
265
+ } from 'typescript';
266
+
267
+ import ts from 'typescript';
268
+
269
+ import assert from 'node:assert/strict';
270
+
271
+ export function isAccessor(
272
+ node: Node,
273
+ message:
274
+ | string
275
+ | Error = `expected AccessorDeclaration, received ${ts.SyntaxKind[node.kind]}`,
276
+ ): asserts node is AccessorDeclaration {
277
+ assert.equal(ts.isAccessor(node), true, message);
278
+ }
279
+
280
+ export function isArrayBindingElement(
281
+ node: Node,
282
+ message:
283
+ | string
284
+ | Error = `expected ArrayBindingElement, received ${ts.SyntaxKind[node.kind]}`,
285
+ ): asserts node is ArrayBindingElement {
286
+ assert.equal(ts.isArrayBindingElement(node), true, message);
287
+ }
288
+
289
+ export function isArrayBindingPattern(
290
+ node: Node,
291
+ message:
292
+ | string
293
+ | Error = `expected ArrayBindingPattern, received ${ts.SyntaxKind[node.kind]}`,
294
+ ): asserts node is ArrayBindingPattern {
295
+ assert.equal(ts.isArrayBindingPattern(node), true, message);
296
+ }
297
+
298
+ export function isArrayLiteralExpression(
299
+ node: Node,
300
+ message:
301
+ | string
302
+ | Error = `expected ArrayLiteralExpression, received ${ts.SyntaxKind[node.kind]}`,
303
+ ): asserts node is ArrayLiteralExpression {
304
+ assert.equal(ts.isArrayLiteralExpression(node), true, message);
305
+ }
306
+
307
+ export function isArrayTypeNode(
308
+ node: Node,
309
+ message:
310
+ | string
311
+ | Error = `expected ArrayTypeNode, received ${ts.SyntaxKind[node.kind]}`,
312
+ ): asserts node is ArrayTypeNode {
313
+ assert.equal(ts.isArrayTypeNode(node), true, message);
314
+ }
315
+
316
+ export function isArrowFunction(
317
+ node: Node,
318
+ message:
319
+ | string
320
+ | Error = `expected ArrowFunction, received ${ts.SyntaxKind[node.kind]}`,
321
+ ): asserts node is ArrowFunction {
322
+ assert.equal(ts.isArrowFunction(node), true, message);
323
+ }
324
+
325
+ export function isAsExpression(
326
+ node: Node,
327
+ message:
328
+ | string
329
+ | Error = `expected AsExpression, received ${ts.SyntaxKind[node.kind]}`,
330
+ ): asserts node is AsExpression {
331
+ assert.equal(ts.isAsExpression(node), true, message);
332
+ }
333
+
334
+ export function isAssertionExpression(
335
+ node: Node,
336
+ message:
337
+ | string
338
+ | Error = `expected AssertionExpression, received ${ts.SyntaxKind[node.kind]}`,
339
+ ): asserts node is AssertionExpression {
340
+ assert.equal(ts.isAssertionExpression(node), true, message);
341
+ }
342
+
343
+ export function isAssertsKeyword(
344
+ node: Node,
345
+ message:
346
+ | string
347
+ | Error = `expected AssertsKeyword, received ${ts.SyntaxKind[node.kind]}`,
348
+ ): asserts node is AssertsKeyword {
349
+ assert.equal(ts.isAssertsKeyword(node), true, message);
350
+ }
351
+
352
+ export function isAsteriskToken(
353
+ node: Node,
354
+ message:
355
+ | string
356
+ | Error = `expected AsteriskToken, received ${ts.SyntaxKind[node.kind]}`,
357
+ ): asserts node is AsteriskToken {
358
+ assert.equal(ts.isAsteriskToken(node), true, message);
359
+ }
360
+
361
+ export function isAutoAccessorPropertyDeclaration(
362
+ node: Node,
363
+ message:
364
+ | string
365
+ | Error = `expected AutoAccessorPropertyDeclaration, received ${ts.SyntaxKind[node.kind]}`,
366
+ ): asserts node is AutoAccessorPropertyDeclaration {
367
+ assert.equal(ts.isAutoAccessorPropertyDeclaration(node), true, message);
368
+ }
369
+
370
+ export function isAwaitExpression(
371
+ node: Node,
372
+ message:
373
+ | string
374
+ | Error = `expected AwaitExpression, received ${ts.SyntaxKind[node.kind]}`,
375
+ ): asserts node is AwaitExpression {
376
+ assert.equal(ts.isAwaitExpression(node), true, message);
377
+ }
378
+
379
+ export function isAwaitKeyword(
380
+ node: Node,
381
+ message:
382
+ | string
383
+ | Error = `expected AwaitKeyword, received ${ts.SyntaxKind[node.kind]}`,
384
+ ): asserts node is AwaitKeyword {
385
+ assert.equal(ts.isAwaitKeyword(node), true, message);
386
+ }
387
+
388
+ export function isBigIntLiteral(
389
+ node: Node,
390
+ message:
391
+ | string
392
+ | Error = `expected BigIntLiteral, received ${ts.SyntaxKind[node.kind]}`,
393
+ ): asserts node is BigIntLiteral {
394
+ assert.equal(ts.isBigIntLiteral(node), true, message);
395
+ }
396
+
397
+ export function isBinaryExpression(
398
+ node: Node,
399
+ message:
400
+ | string
401
+ | Error = `expected BinaryExpression, received ${ts.SyntaxKind[node.kind]}`,
402
+ ): asserts node is BinaryExpression {
403
+ assert.equal(ts.isBinaryExpression(node), true, message);
404
+ }
405
+
406
+ export function isBinaryOperatorToken(
407
+ node: Node,
408
+ message:
409
+ | string
410
+ | Error = `expected BinaryOperatorToken, received ${ts.SyntaxKind[node.kind]}`,
411
+ ): asserts node is BinaryOperatorToken {
412
+ assert.equal(ts.isBinaryOperatorToken(node), true, message);
413
+ }
414
+
415
+ export function isBindingElement(
416
+ node: Node,
417
+ message:
418
+ | string
419
+ | Error = `expected BindingElement, received ${ts.SyntaxKind[node.kind]}`,
420
+ ): asserts node is BindingElement {
421
+ assert.equal(ts.isBindingElement(node), true, message);
422
+ }
423
+
424
+ export function isBindingName(
425
+ node: Node,
426
+ message:
427
+ | string
428
+ | Error = `expected BindingName, received ${ts.SyntaxKind[node.kind]}`,
429
+ ): asserts node is BindingName {
430
+ assert.equal(ts.isBindingName(node), true, message);
431
+ }
432
+
433
+ export function isBlock(
434
+ node: Node,
435
+ message:
436
+ | string
437
+ | Error = `expected Block, received ${ts.SyntaxKind[node.kind]}`,
438
+ ): asserts node is Block {
439
+ assert.equal(ts.isBlock(node), true, message);
440
+ }
441
+
442
+ export function isBreakOrContinueStatement(
443
+ node: Node,
444
+ message:
445
+ | string
446
+ | Error = `expected BreakOrContinueStatement, received ${ts.SyntaxKind[node.kind]}`,
447
+ ): asserts node is BreakOrContinueStatement {
448
+ assert.equal(ts.isBreakOrContinueStatement(node), true, message);
449
+ }
450
+
451
+ export function isBreakStatement(
452
+ node: Node,
453
+ message:
454
+ | string
455
+ | Error = `expected BreakStatement, received ${ts.SyntaxKind[node.kind]}`,
456
+ ): asserts node is BreakStatement {
457
+ assert.equal(ts.isBreakStatement(node), true, message);
458
+ }
459
+
460
+ export function isBundle(
461
+ node: Node,
462
+ message:
463
+ | string
464
+ | Error = `expected Bundle, received ${ts.SyntaxKind[node.kind]}`,
465
+ ): asserts node is Bundle {
466
+ assert.equal(ts.isBundle(node), true, message);
467
+ }
468
+
469
+ export function isCallChain(
470
+ node: Node,
471
+ message:
472
+ | string
473
+ | Error = `expected CallChain, received ${ts.SyntaxKind[node.kind]}`,
474
+ ): asserts node is CallChain {
475
+ assert.equal(ts.isCallChain(node), true, message);
476
+ }
477
+
478
+ export function isCallExpression(
479
+ node: Node,
480
+ message:
481
+ | string
482
+ | Error = `expected CallExpression, received ${ts.SyntaxKind[node.kind]}`,
483
+ ): asserts node is CallExpression {
484
+ assert.equal(ts.isCallExpression(node), true, message);
485
+ }
486
+
487
+ export function isCallLikeExpression(
488
+ node: Node,
489
+ message:
490
+ | string
491
+ | Error = `expected CallLikeExpression, received ${ts.SyntaxKind[node.kind]}`,
492
+ ): asserts node is CallLikeExpression {
493
+ assert.equal(ts.isCallLikeExpression(node), true, message);
494
+ }
495
+
496
+ export function isCallSignatureDeclaration(
497
+ node: Node,
498
+ message:
499
+ | string
500
+ | Error = `expected CallSignatureDeclaration, received ${ts.SyntaxKind[node.kind]}`,
501
+ ): asserts node is CallSignatureDeclaration {
502
+ assert.equal(ts.isCallSignatureDeclaration(node), true, message);
503
+ }
504
+
505
+ export function isCaseBlock(
506
+ node: Node,
507
+ message:
508
+ | string
509
+ | Error = `expected CaseBlock, received ${ts.SyntaxKind[node.kind]}`,
510
+ ): asserts node is CaseBlock {
511
+ assert.equal(ts.isCaseBlock(node), true, message);
512
+ }
513
+
514
+ export function isCaseClause(
515
+ node: Node,
516
+ message:
517
+ | string
518
+ | Error = `expected CaseClause, received ${ts.SyntaxKind[node.kind]}`,
519
+ ): asserts node is CaseClause {
520
+ assert.equal(ts.isCaseClause(node), true, message);
521
+ }
522
+
523
+ export function isCaseOrDefaultClause(
524
+ node: Node,
525
+ message:
526
+ | string
527
+ | Error = `expected CaseOrDefaultClause, received ${ts.SyntaxKind[node.kind]}`,
528
+ ): asserts node is CaseOrDefaultClause {
529
+ assert.equal(ts.isCaseOrDefaultClause(node), true, message);
530
+ }
531
+
532
+ export function isCatchClause(
533
+ node: Node,
534
+ message:
535
+ | string
536
+ | Error = `expected CatchClause, received ${ts.SyntaxKind[node.kind]}`,
537
+ ): asserts node is CatchClause {
538
+ assert.equal(ts.isCatchClause(node), true, message);
539
+ }
540
+
541
+ export function isClassDeclaration(
542
+ node: Node,
543
+ message:
544
+ | string
545
+ | Error = `expected ClassDeclaration, received ${ts.SyntaxKind[node.kind]}`,
546
+ ): asserts node is ClassDeclaration {
547
+ assert.equal(ts.isClassDeclaration(node), true, message);
548
+ }
549
+
550
+ export function isClassElement(
551
+ node: Node,
552
+ message:
553
+ | string
554
+ | Error = `expected ClassElement, received ${ts.SyntaxKind[node.kind]}`,
555
+ ): asserts node is ClassElement {
556
+ assert.equal(ts.isClassElement(node), true, message);
557
+ }
558
+
559
+ export function isClassExpression(
560
+ node: Node,
561
+ message:
562
+ | string
563
+ | Error = `expected ClassExpression, received ${ts.SyntaxKind[node.kind]}`,
564
+ ): asserts node is ClassExpression {
565
+ assert.equal(ts.isClassExpression(node), true, message);
566
+ }
567
+
568
+ export function isClassLike(
569
+ node: Node,
570
+ message:
571
+ | string
572
+ | Error = `expected ClassLikeDeclaration, received ${ts.SyntaxKind[node.kind]}`,
573
+ ): asserts node is ClassLikeDeclaration {
574
+ assert.equal(ts.isClassLike(node), true, message);
575
+ }
576
+
577
+ export function isClassStaticBlockDeclaration(
578
+ node: Node,
579
+ message:
580
+ | string
581
+ | Error = `expected ClassStaticBlockDeclaration, received ${ts.SyntaxKind[node.kind]}`,
582
+ ): asserts node is ClassStaticBlockDeclaration {
583
+ assert.equal(ts.isClassStaticBlockDeclaration(node), true, message);
584
+ }
585
+
586
+ export function isColonToken(
587
+ node: Node,
588
+ message:
589
+ | string
590
+ | Error = `expected ColonToken, received ${ts.SyntaxKind[node.kind]}`,
591
+ ): asserts node is ColonToken {
592
+ assert.equal(ts.isColonToken(node), true, message);
593
+ }
594
+
595
+ export function isCommaListExpression(
596
+ node: Node,
597
+ message:
598
+ | string
599
+ | Error = `expected CommaListExpression, received ${ts.SyntaxKind[node.kind]}`,
600
+ ): asserts node is CommaListExpression {
601
+ assert.equal(ts.isCommaListExpression(node), true, message);
602
+ }
603
+
604
+ export function isComputedPropertyName(
605
+ node: Node,
606
+ message:
607
+ | string
608
+ | Error = `expected ComputedPropertyName, received ${ts.SyntaxKind[node.kind]}`,
609
+ ): asserts node is ComputedPropertyName {
610
+ assert.equal(ts.isComputedPropertyName(node), true, message);
611
+ }
612
+
613
+ export function isConciseBody(
614
+ node: Node,
615
+ message:
616
+ | string
617
+ | Error = `expected ConciseBody, received ${ts.SyntaxKind[node.kind]}`,
618
+ ): asserts node is ConciseBody {
619
+ assert.equal(ts.isConciseBody(node), true, message);
620
+ }
621
+
622
+ export function isConditionalExpression(
623
+ node: Node,
624
+ message:
625
+ | string
626
+ | Error = `expected ConditionalExpression, received ${ts.SyntaxKind[node.kind]}`,
627
+ ): asserts node is ConditionalExpression {
628
+ assert.equal(ts.isConditionalExpression(node), true, message);
629
+ }
630
+
631
+ export function isConditionalTypeNode(
632
+ node: Node,
633
+ message:
634
+ | string
635
+ | Error = `expected ConditionalTypeNode, received ${ts.SyntaxKind[node.kind]}`,
636
+ ): asserts node is ConditionalTypeNode {
637
+ assert.equal(ts.isConditionalTypeNode(node), true, message);
638
+ }
639
+
640
+ export function isConstructorDeclaration(
641
+ node: Node,
642
+ message:
643
+ | string
644
+ | Error = `expected ConstructorDeclaration, received ${ts.SyntaxKind[node.kind]}`,
645
+ ): asserts node is ConstructorDeclaration {
646
+ assert.equal(ts.isConstructorDeclaration(node), true, message);
647
+ }
648
+
649
+ export function isConstructorTypeNode(
650
+ node: Node,
651
+ message:
652
+ | string
653
+ | Error = `expected ConstructorTypeNode, received ${ts.SyntaxKind[node.kind]}`,
654
+ ): asserts node is ConstructorTypeNode {
655
+ assert.equal(ts.isConstructorTypeNode(node), true, message);
656
+ }
657
+
658
+ export function isConstructSignatureDeclaration(
659
+ node: Node,
660
+ message:
661
+ | string
662
+ | Error = `expected ConstructSignatureDeclaration, received ${ts.SyntaxKind[node.kind]}`,
663
+ ): asserts node is ConstructSignatureDeclaration {
664
+ assert.equal(ts.isConstructSignatureDeclaration(node), true, message);
665
+ }
666
+
667
+ export function isContinueStatement(
668
+ node: Node,
669
+ message:
670
+ | string
671
+ | Error = `expected ContinueStatement, received ${ts.SyntaxKind[node.kind]}`,
672
+ ): asserts node is ContinueStatement {
673
+ assert.equal(ts.isContinueStatement(node), true, message);
674
+ }
675
+
676
+ export function isDebuggerStatement(
677
+ node: Node,
678
+ message:
679
+ | string
680
+ | Error = `expected DebuggerStatement, received ${ts.SyntaxKind[node.kind]}`,
681
+ ): asserts node is DebuggerStatement {
682
+ assert.equal(ts.isDebuggerStatement(node), true, message);
683
+ }
684
+
685
+ export function isDeclarationStatement(
686
+ node: Node,
687
+ message:
688
+ | string
689
+ | Error = `expected DeclarationStatement, received ${ts.SyntaxKind[node.kind]}`,
690
+ ): asserts node is DeclarationStatement {
691
+ assert.equal(ts.isDeclarationStatement(node), true, message);
692
+ }
693
+
694
+ export function isDecorator(
695
+ node: Node,
696
+ message:
697
+ | string
698
+ | Error = `expected Decorator, received ${ts.SyntaxKind[node.kind]}`,
699
+ ): asserts node is Decorator {
700
+ assert.equal(ts.isDecorator(node), true, message);
701
+ }
702
+
703
+ export function isDefaultClause(
704
+ node: Node,
705
+ message:
706
+ | string
707
+ | Error = `expected DefaultClause, received ${ts.SyntaxKind[node.kind]}`,
708
+ ): asserts node is DefaultClause {
709
+ assert.equal(ts.isDefaultClause(node), true, message);
710
+ }
711
+
712
+ export function isDeleteExpression(
713
+ node: Node,
714
+ message:
715
+ | string
716
+ | Error = `expected DeleteExpression, received ${ts.SyntaxKind[node.kind]}`,
717
+ ): asserts node is DeleteExpression {
718
+ assert.equal(ts.isDeleteExpression(node), true, message);
719
+ }
720
+
721
+ export function isDoStatement(
722
+ node: Node,
723
+ message:
724
+ | string
725
+ | Error = `expected DoStatement, received ${ts.SyntaxKind[node.kind]}`,
726
+ ): asserts node is DoStatement {
727
+ assert.equal(ts.isDoStatement(node), true, message);
728
+ }
729
+
730
+ export function isDotDotDotToken(
731
+ node: Node,
732
+ message:
733
+ | string
734
+ | Error = `expected DotDotDotToken, received ${ts.SyntaxKind[node.kind]}`,
735
+ ): asserts node is DotDotDotToken {
736
+ assert.equal(ts.isDotDotDotToken(node), true, message);
737
+ }
738
+
739
+ export function isElementAccessChain(
740
+ node: Node,
741
+ message:
742
+ | string
743
+ | Error = `expected ElementAccessChain, received ${ts.SyntaxKind[node.kind]}`,
744
+ ): asserts node is ElementAccessChain {
745
+ assert.equal(ts.isElementAccessChain(node), true, message);
746
+ }
747
+
748
+ export function isElementAccessExpression(
749
+ node: Node,
750
+ message:
751
+ | string
752
+ | Error = `expected ElementAccessExpression, received ${ts.SyntaxKind[node.kind]}`,
753
+ ): asserts node is ElementAccessExpression {
754
+ assert.equal(ts.isElementAccessExpression(node), true, message);
755
+ }
756
+
757
+ export function isEmptyBindingPattern(
758
+ node: BindingName,
759
+ message:
760
+ | string
761
+ | Error = `expected BindingPattern, received ${ts.SyntaxKind[node.kind]}`,
762
+ ): asserts node is BindingPattern {
763
+ assert.equal(ts.isEmptyBindingPattern(node), true, message);
764
+ }
765
+
766
+ export function isEmptyStatement(
767
+ node: Node,
768
+ message:
769
+ | string
770
+ | Error = `expected EmptyStatement, received ${ts.SyntaxKind[node.kind]}`,
771
+ ): asserts node is EmptyStatement {
772
+ assert.equal(ts.isEmptyStatement(node), true, message);
773
+ }
774
+
775
+ export function isEntityName(
776
+ node: Node,
777
+ message:
778
+ | string
779
+ | Error = `expected EntityName, received ${ts.SyntaxKind[node.kind]}`,
780
+ ): asserts node is EntityName {
781
+ assert.equal(ts.isEntityName(node), true, message);
782
+ }
783
+
784
+ export function isEnumDeclaration(
785
+ node: Node,
786
+ message:
787
+ | string
788
+ | Error = `expected EnumDeclaration, received ${ts.SyntaxKind[node.kind]}`,
789
+ ): asserts node is EnumDeclaration {
790
+ assert.equal(ts.isEnumDeclaration(node), true, message);
791
+ }
792
+
793
+ export function isEnumMember(
794
+ node: Node,
795
+ message:
796
+ | string
797
+ | Error = `expected EnumMember, received ${ts.SyntaxKind[node.kind]}`,
798
+ ): asserts node is EnumMember {
799
+ assert.equal(ts.isEnumMember(node), true, message);
800
+ }
801
+
802
+ export function isEqualsGreaterThanToken(
803
+ node: Node,
804
+ message:
805
+ | string
806
+ | Error = `expected EqualsGreaterThanToken, received ${ts.SyntaxKind[node.kind]}`,
807
+ ): asserts node is EqualsGreaterThanToken {
808
+ assert.equal(ts.isEqualsGreaterThanToken(node), true, message);
809
+ }
810
+
811
+ export function isExclamationToken(
812
+ node: Node,
813
+ message:
814
+ | string
815
+ | Error = `expected ExclamationToken, received ${ts.SyntaxKind[node.kind]}`,
816
+ ): asserts node is ExclamationToken {
817
+ assert.equal(ts.isExclamationToken(node), true, message);
818
+ }
819
+
820
+ export function isExportAssignment(
821
+ node: Node,
822
+ message:
823
+ | string
824
+ | Error = `expected ExportAssignment, received ${ts.SyntaxKind[node.kind]}`,
825
+ ): asserts node is ExportAssignment {
826
+ assert.equal(ts.isExportAssignment(node), true, message);
827
+ }
828
+
829
+ export function isExportDeclaration(
830
+ node: Node,
831
+ message:
832
+ | string
833
+ | Error = `expected ExportDeclaration, received ${ts.SyntaxKind[node.kind]}`,
834
+ ): asserts node is ExportDeclaration {
835
+ assert.equal(ts.isExportDeclaration(node), true, message);
836
+ }
837
+
838
+ export function isExportSpecifier(
839
+ node: Node,
840
+ message:
841
+ | string
842
+ | Error = `expected ExportSpecifier, received ${ts.SyntaxKind[node.kind]}`,
843
+ ): asserts node is ExportSpecifier {
844
+ assert.equal(ts.isExportSpecifier(node), true, message);
845
+ }
846
+
847
+ export function isExpression(
848
+ node: Node,
849
+ message:
850
+ | string
851
+ | Error = `expected Expression, received ${ts.SyntaxKind[node.kind]}`,
852
+ ): asserts node is Expression {
853
+ assert.equal(ts.isExpression(node), true, message);
854
+ }
855
+
856
+ export function isExpressionStatement(
857
+ node: Node,
858
+ message:
859
+ | string
860
+ | Error = `expected ExpressionStatement, received ${ts.SyntaxKind[node.kind]}`,
861
+ ): asserts node is ExpressionStatement {
862
+ assert.equal(ts.isExpressionStatement(node), true, message);
863
+ }
864
+
865
+ export function isExpressionWithTypeArguments(
866
+ node: Node,
867
+ message:
868
+ | string
869
+ | Error = `expected ExpressionWithTypeArguments, received ${ts.SyntaxKind[node.kind]}`,
870
+ ): asserts node is ExpressionWithTypeArguments {
871
+ assert.equal(ts.isExpressionWithTypeArguments(node), true, message);
872
+ }
873
+
874
+ export function isExternalModuleReference(
875
+ node: Node,
876
+ message:
877
+ | string
878
+ | Error = `expected ExternalModuleReference, received ${ts.SyntaxKind[node.kind]}`,
879
+ ): asserts node is ExternalModuleReference {
880
+ assert.equal(ts.isExternalModuleReference(node), true, message);
881
+ }
882
+
883
+ export function isForInitializer(
884
+ node: Node,
885
+ message:
886
+ | string
887
+ | Error = `expected ForInitializer, received ${ts.SyntaxKind[node.kind]}`,
888
+ ): asserts node is ForInitializer {
889
+ assert.equal(ts.isForInitializer(node), true, message);
890
+ }
891
+
892
+ export function isForInStatement(
893
+ node: Node,
894
+ message:
895
+ | string
896
+ | Error = `expected ForInStatement, received ${ts.SyntaxKind[node.kind]}`,
897
+ ): asserts node is ForInStatement {
898
+ assert.equal(ts.isForInStatement(node), true, message);
899
+ }
900
+
901
+ export function isForOfStatement(
902
+ node: Node,
903
+ message:
904
+ | string
905
+ | Error = `expected ForOfStatement, received ${ts.SyntaxKind[node.kind]}`,
906
+ ): asserts node is ForOfStatement {
907
+ assert.equal(ts.isForOfStatement(node), true, message);
908
+ }
909
+
910
+ export function isForStatement(
911
+ node: Node,
912
+ message:
913
+ | string
914
+ | Error = `expected ForStatement, received ${ts.SyntaxKind[node.kind]}`,
915
+ ): asserts node is ForStatement {
916
+ assert.equal(ts.isForStatement(node), true, message);
917
+ }
918
+
919
+ export function isFunctionDeclaration(
920
+ node: Node,
921
+ message:
922
+ | string
923
+ | Error = `expected FunctionDeclaration, received ${ts.SyntaxKind[node.kind]}`,
924
+ ): asserts node is FunctionDeclaration {
925
+ assert.equal(ts.isFunctionDeclaration(node), true, message);
926
+ }
927
+
928
+ export function isFunctionExpression(
929
+ node: Node,
930
+ message:
931
+ | string
932
+ | Error = `expected FunctionExpression, received ${ts.SyntaxKind[node.kind]}`,
933
+ ): asserts node is FunctionExpression {
934
+ assert.equal(ts.isFunctionExpression(node), true, message);
935
+ }
936
+
937
+ export function isFunctionTypeNode(
938
+ node: Node,
939
+ message:
940
+ | string
941
+ | Error = `expected FunctionTypeNode, received ${ts.SyntaxKind[node.kind]}`,
942
+ ): asserts node is FunctionTypeNode {
943
+ assert.equal(ts.isFunctionTypeNode(node), true, message);
944
+ }
945
+
946
+ export function isGetAccessor(
947
+ node: Node,
948
+ message:
949
+ | string
950
+ | Error = `expected GetAccessorDeclaration, received ${ts.SyntaxKind[node.kind]}`,
951
+ ): asserts node is GetAccessorDeclaration {
952
+ assert.equal(ts.isGetAccessor(node), true, message);
953
+ }
954
+
955
+ export function isGetAccessorDeclaration(
956
+ node: Node,
957
+ message:
958
+ | string
959
+ | Error = `expected GetAccessorDeclaration, received ${ts.SyntaxKind[node.kind]}`,
960
+ ): asserts node is GetAccessorDeclaration {
961
+ assert.equal(ts.isGetAccessorDeclaration(node), true, message);
962
+ }
963
+
964
+ export function isHeritageClause(
965
+ node: Node,
966
+ message:
967
+ | string
968
+ | Error = `expected HeritageClause, received ${ts.SyntaxKind[node.kind]}`,
969
+ ): asserts node is HeritageClause {
970
+ assert.equal(ts.isHeritageClause(node), true, message);
971
+ }
972
+
973
+ export function isIdentifier(
974
+ node: Node,
975
+ message:
976
+ | string
977
+ | Error = `expected Identifier, received ${ts.SyntaxKind[node.kind]}`,
978
+ ): asserts node is Identifier {
979
+ assert.equal(ts.isIdentifier(node), true, message);
980
+ }
981
+
982
+ export function isIfStatement(
983
+ node: Node,
984
+ message:
985
+ | string
986
+ | Error = `expected IfStatement, received ${ts.SyntaxKind[node.kind]}`,
987
+ ): asserts node is IfStatement {
988
+ assert.equal(ts.isIfStatement(node), true, message);
989
+ }
990
+
991
+ export function isImportAttribute(
992
+ node: Node,
993
+ message:
994
+ | string
995
+ | Error = `expected ImportAttribute, received ${ts.SyntaxKind[node.kind]}`,
996
+ ): asserts node is ImportAttribute {
997
+ assert.equal(ts.isImportAttribute(node), true, message);
998
+ }
999
+
1000
+ export function isImportAttributeName(
1001
+ node: Node,
1002
+ message:
1003
+ | string
1004
+ | Error = `expected ImportAttributeName, received ${ts.SyntaxKind[node.kind]}`,
1005
+ ): asserts node is ImportAttributeName {
1006
+ assert.equal(ts.isImportAttributeName(node), true, message);
1007
+ }
1008
+
1009
+ export function isImportAttributes(
1010
+ node: Node,
1011
+ message:
1012
+ | string
1013
+ | Error = `expected ImportAttributes, received ${ts.SyntaxKind[node.kind]}`,
1014
+ ): asserts node is ImportAttributes {
1015
+ assert.equal(ts.isImportAttributes(node), true, message);
1016
+ }
1017
+
1018
+ export function isImportClause(
1019
+ node: Node,
1020
+ message:
1021
+ | string
1022
+ | Error = `expected ImportClause, received ${ts.SyntaxKind[node.kind]}`,
1023
+ ): asserts node is ImportClause {
1024
+ assert.equal(ts.isImportClause(node), true, message);
1025
+ }
1026
+
1027
+ export function isImportDeclaration(
1028
+ node: Node,
1029
+ message:
1030
+ | string
1031
+ | Error = `expected ImportDeclaration, received ${ts.SyntaxKind[node.kind]}`,
1032
+ ): asserts node is ImportDeclaration {
1033
+ assert.equal(ts.isImportDeclaration(node), true, message);
1034
+ }
1035
+
1036
+ export function isImportEqualsDeclaration(
1037
+ node: Node,
1038
+ message:
1039
+ | string
1040
+ | Error = `expected ImportEqualsDeclaration, received ${ts.SyntaxKind[node.kind]}`,
1041
+ ): asserts node is ImportEqualsDeclaration {
1042
+ assert.equal(ts.isImportEqualsDeclaration(node), true, message);
1043
+ }
1044
+
1045
+ export function isImportSpecifier(
1046
+ node: Node,
1047
+ message:
1048
+ | string
1049
+ | Error = `expected ImportSpecifier, received ${ts.SyntaxKind[node.kind]}`,
1050
+ ): asserts node is ImportSpecifier {
1051
+ assert.equal(ts.isImportSpecifier(node), true, message);
1052
+ }
1053
+
1054
+ export function isImportTypeNode(
1055
+ node: Node,
1056
+ message:
1057
+ | string
1058
+ | Error = `expected ImportTypeNode, received ${ts.SyntaxKind[node.kind]}`,
1059
+ ): asserts node is ImportTypeNode {
1060
+ assert.equal(ts.isImportTypeNode(node), true, message);
1061
+ }
1062
+
1063
+ export function isIndexedAccessTypeNode(
1064
+ node: Node,
1065
+ message:
1066
+ | string
1067
+ | Error = `expected IndexedAccessTypeNode, received ${ts.SyntaxKind[node.kind]}`,
1068
+ ): asserts node is IndexedAccessTypeNode {
1069
+ assert.equal(ts.isIndexedAccessTypeNode(node), true, message);
1070
+ }
1071
+
1072
+ export function isIndexSignatureDeclaration(
1073
+ node: Node,
1074
+ message:
1075
+ | string
1076
+ | Error = `expected IndexSignatureDeclaration, received ${ts.SyntaxKind[node.kind]}`,
1077
+ ): asserts node is IndexSignatureDeclaration {
1078
+ assert.equal(ts.isIndexSignatureDeclaration(node), true, message);
1079
+ }
1080
+
1081
+ export function isInferTypeNode(
1082
+ node: Node,
1083
+ message:
1084
+ | string
1085
+ | Error = `expected InferTypeNode, received ${ts.SyntaxKind[node.kind]}`,
1086
+ ): asserts node is InferTypeNode {
1087
+ assert.equal(ts.isInferTypeNode(node), true, message);
1088
+ }
1089
+
1090
+ export function isInterfaceDeclaration(
1091
+ node: Node,
1092
+ message:
1093
+ | string
1094
+ | Error = `expected InterfaceDeclaration, received ${ts.SyntaxKind[node.kind]}`,
1095
+ ): asserts node is InterfaceDeclaration {
1096
+ assert.equal(ts.isInterfaceDeclaration(node), true, message);
1097
+ }
1098
+
1099
+ export function isIntersectionTypeNode(
1100
+ node: Node,
1101
+ message:
1102
+ | string
1103
+ | Error = `expected IntersectionTypeNode, received ${ts.SyntaxKind[node.kind]}`,
1104
+ ): asserts node is IntersectionTypeNode {
1105
+ assert.equal(ts.isIntersectionTypeNode(node), true, message);
1106
+ }
1107
+
1108
+ export function isJSDoc(
1109
+ node: Node,
1110
+ message:
1111
+ | string
1112
+ | Error = `expected JSDoc, received ${ts.SyntaxKind[node.kind]}`,
1113
+ ): asserts node is JSDoc {
1114
+ assert.equal(ts.isJSDoc(node), true, message);
1115
+ }
1116
+
1117
+ export function isJSDocAllType(
1118
+ node: Node,
1119
+ message:
1120
+ | string
1121
+ | Error = `expected JSDocAllType, received ${ts.SyntaxKind[node.kind]}`,
1122
+ ): asserts node is JSDocAllType {
1123
+ assert.equal(ts.isJSDocAllType(node), true, message);
1124
+ }
1125
+
1126
+ export function isJSDocAugmentsTag(
1127
+ node: Node,
1128
+ message:
1129
+ | string
1130
+ | Error = `expected JSDocAugmentsTag, received ${ts.SyntaxKind[node.kind]}`,
1131
+ ): asserts node is JSDocAugmentsTag {
1132
+ assert.equal(ts.isJSDocAugmentsTag(node), true, message);
1133
+ }
1134
+
1135
+ export function isJSDocAuthorTag(
1136
+ node: Node,
1137
+ message:
1138
+ | string
1139
+ | Error = `expected JSDocAuthorTag, received ${ts.SyntaxKind[node.kind]}`,
1140
+ ): asserts node is JSDocAuthorTag {
1141
+ assert.equal(ts.isJSDocAuthorTag(node), true, message);
1142
+ }
1143
+
1144
+ export function isJSDocCallbackTag(
1145
+ node: Node,
1146
+ message:
1147
+ | string
1148
+ | Error = `expected JSDocCallbackTag, received ${ts.SyntaxKind[node.kind]}`,
1149
+ ): asserts node is JSDocCallbackTag {
1150
+ assert.equal(ts.isJSDocCallbackTag(node), true, message);
1151
+ }
1152
+
1153
+ export function isJSDocClassTag(
1154
+ node: Node,
1155
+ message:
1156
+ | string
1157
+ | Error = `expected JSDocClassTag, received ${ts.SyntaxKind[node.kind]}`,
1158
+ ): asserts node is JSDocClassTag {
1159
+ assert.equal(ts.isJSDocClassTag(node), true, message);
1160
+ }
1161
+
1162
+ export function isJSDocDeprecatedTag(
1163
+ node: Node,
1164
+ message:
1165
+ | string
1166
+ | Error = `expected JSDocDeprecatedTag, received ${ts.SyntaxKind[node.kind]}`,
1167
+ ): asserts node is JSDocDeprecatedTag {
1168
+ assert.equal(ts.isJSDocDeprecatedTag(node), true, message);
1169
+ }
1170
+
1171
+ export function isJSDocEnumTag(
1172
+ node: Node,
1173
+ message:
1174
+ | string
1175
+ | Error = `expected JSDocEnumTag, received ${ts.SyntaxKind[node.kind]}`,
1176
+ ): asserts node is JSDocEnumTag {
1177
+ assert.equal(ts.isJSDocEnumTag(node), true, message);
1178
+ }
1179
+
1180
+ export function isJSDocFunctionType(
1181
+ node: Node,
1182
+ message:
1183
+ | string
1184
+ | Error = `expected JSDocFunctionType, received ${ts.SyntaxKind[node.kind]}`,
1185
+ ): asserts node is JSDocFunctionType {
1186
+ assert.equal(ts.isJSDocFunctionType(node), true, message);
1187
+ }
1188
+
1189
+ export function isJSDocImplementsTag(
1190
+ node: Node,
1191
+ message:
1192
+ | string
1193
+ | Error = `expected JSDocImplementsTag, received ${ts.SyntaxKind[node.kind]}`,
1194
+ ): asserts node is JSDocImplementsTag {
1195
+ assert.equal(ts.isJSDocImplementsTag(node), true, message);
1196
+ }
1197
+
1198
+ export function isJSDocImportTag(
1199
+ node: Node,
1200
+ message:
1201
+ | string
1202
+ | Error = `expected JSDocImportTag, received ${ts.SyntaxKind[node.kind]}`,
1203
+ ): asserts node is JSDocImportTag {
1204
+ assert.equal(ts.isJSDocImportTag(node), true, message);
1205
+ }
1206
+
1207
+ export function isJSDocLink(
1208
+ node: Node,
1209
+ message:
1210
+ | string
1211
+ | Error = `expected JSDocLink, received ${ts.SyntaxKind[node.kind]}`,
1212
+ ): asserts node is JSDocLink {
1213
+ assert.equal(ts.isJSDocLink(node), true, message);
1214
+ }
1215
+
1216
+ export function isJSDocLinkCode(
1217
+ node: Node,
1218
+ message:
1219
+ | string
1220
+ | Error = `expected JSDocLinkCode, received ${ts.SyntaxKind[node.kind]}`,
1221
+ ): asserts node is JSDocLinkCode {
1222
+ assert.equal(ts.isJSDocLinkCode(node), true, message);
1223
+ }
1224
+
1225
+ export function isJSDocLinkPlain(
1226
+ node: Node,
1227
+ message:
1228
+ | string
1229
+ | Error = `expected JSDocLinkPlain, received ${ts.SyntaxKind[node.kind]}`,
1230
+ ): asserts node is JSDocLinkPlain {
1231
+ assert.equal(ts.isJSDocLinkPlain(node), true, message);
1232
+ }
1233
+
1234
+ export function isJSDocMemberName(
1235
+ node: Node,
1236
+ message:
1237
+ | string
1238
+ | Error = `expected JSDocMemberName, received ${ts.SyntaxKind[node.kind]}`,
1239
+ ): asserts node is JSDocMemberName {
1240
+ assert.equal(ts.isJSDocMemberName(node), true, message);
1241
+ }
1242
+
1243
+ export function isJSDocNamepathType(
1244
+ node: Node,
1245
+ message:
1246
+ | string
1247
+ | Error = `expected JSDocNamepathType, received ${ts.SyntaxKind[node.kind]}`,
1248
+ ): asserts node is JSDocNamepathType {
1249
+ assert.equal(ts.isJSDocNamepathType(node), true, message);
1250
+ }
1251
+
1252
+ export function isJSDocNameReference(
1253
+ node: Node,
1254
+ message:
1255
+ | string
1256
+ | Error = `expected JSDocNameReference, received ${ts.SyntaxKind[node.kind]}`,
1257
+ ): asserts node is JSDocNameReference {
1258
+ assert.equal(ts.isJSDocNameReference(node), true, message);
1259
+ }
1260
+
1261
+ export function isJSDocNonNullableType(
1262
+ node: Node,
1263
+ message:
1264
+ | string
1265
+ | Error = `expected JSDocNonNullableType, received ${ts.SyntaxKind[node.kind]}`,
1266
+ ): asserts node is JSDocNonNullableType {
1267
+ assert.equal(ts.isJSDocNonNullableType(node), true, message);
1268
+ }
1269
+
1270
+ export function isJSDocNullableType(
1271
+ node: Node,
1272
+ message:
1273
+ | string
1274
+ | Error = `expected JSDocNullableType, received ${ts.SyntaxKind[node.kind]}`,
1275
+ ): asserts node is JSDocNullableType {
1276
+ assert.equal(ts.isJSDocNullableType(node), true, message);
1277
+ }
1278
+
1279
+ export function isJSDocOptionalType(
1280
+ node: Node,
1281
+ message:
1282
+ | string
1283
+ | Error = `expected JSDocOptionalType, received ${ts.SyntaxKind[node.kind]}`,
1284
+ ): asserts node is JSDocOptionalType {
1285
+ assert.equal(ts.isJSDocOptionalType(node), true, message);
1286
+ }
1287
+
1288
+ export function isJSDocOverloadTag(
1289
+ node: Node,
1290
+ message:
1291
+ | string
1292
+ | Error = `expected JSDocOverloadTag, received ${ts.SyntaxKind[node.kind]}`,
1293
+ ): asserts node is JSDocOverloadTag {
1294
+ assert.equal(ts.isJSDocOverloadTag(node), true, message);
1295
+ }
1296
+
1297
+ export function isJSDocOverrideTag(
1298
+ node: Node,
1299
+ message:
1300
+ | string
1301
+ | Error = `expected JSDocOverrideTag, received ${ts.SyntaxKind[node.kind]}`,
1302
+ ): asserts node is JSDocOverrideTag {
1303
+ assert.equal(ts.isJSDocOverrideTag(node), true, message);
1304
+ }
1305
+
1306
+ export function isJSDocParameterTag(
1307
+ node: Node,
1308
+ message:
1309
+ | string
1310
+ | Error = `expected JSDocParameterTag, received ${ts.SyntaxKind[node.kind]}`,
1311
+ ): asserts node is JSDocParameterTag {
1312
+ assert.equal(ts.isJSDocParameterTag(node), true, message);
1313
+ }
1314
+
1315
+ export function isJSDocPrivateTag(
1316
+ node: Node,
1317
+ message:
1318
+ | string
1319
+ | Error = `expected JSDocPrivateTag, received ${ts.SyntaxKind[node.kind]}`,
1320
+ ): asserts node is JSDocPrivateTag {
1321
+ assert.equal(ts.isJSDocPrivateTag(node), true, message);
1322
+ }
1323
+
1324
+ export function isJSDocPropertyLikeTag(
1325
+ node: Node,
1326
+ message:
1327
+ | string
1328
+ | Error = `expected JSDocPropertyLikeTag, received ${ts.SyntaxKind[node.kind]}`,
1329
+ ): asserts node is JSDocPropertyLikeTag {
1330
+ assert.equal(ts.isJSDocPropertyLikeTag(node), true, message);
1331
+ }
1332
+
1333
+ export function isJSDocPropertyTag(
1334
+ node: Node,
1335
+ message:
1336
+ | string
1337
+ | Error = `expected JSDocPropertyTag, received ${ts.SyntaxKind[node.kind]}`,
1338
+ ): asserts node is JSDocPropertyTag {
1339
+ assert.equal(ts.isJSDocPropertyTag(node), true, message);
1340
+ }
1341
+
1342
+ export function isJSDocProtectedTag(
1343
+ node: Node,
1344
+ message:
1345
+ | string
1346
+ | Error = `expected JSDocProtectedTag, received ${ts.SyntaxKind[node.kind]}`,
1347
+ ): asserts node is JSDocProtectedTag {
1348
+ assert.equal(ts.isJSDocProtectedTag(node), true, message);
1349
+ }
1350
+
1351
+ export function isJSDocPublicTag(
1352
+ node: Node,
1353
+ message:
1354
+ | string
1355
+ | Error = `expected JSDocPublicTag, received ${ts.SyntaxKind[node.kind]}`,
1356
+ ): asserts node is JSDocPublicTag {
1357
+ assert.equal(ts.isJSDocPublicTag(node), true, message);
1358
+ }
1359
+
1360
+ export function isJSDocReadonlyTag(
1361
+ node: Node,
1362
+ message:
1363
+ | string
1364
+ | Error = `expected JSDocReadonlyTag, received ${ts.SyntaxKind[node.kind]}`,
1365
+ ): asserts node is JSDocReadonlyTag {
1366
+ assert.equal(ts.isJSDocReadonlyTag(node), true, message);
1367
+ }
1368
+
1369
+ export function isJSDocReturnTag(
1370
+ node: Node,
1371
+ message:
1372
+ | string
1373
+ | Error = `expected JSDocReturnTag, received ${ts.SyntaxKind[node.kind]}`,
1374
+ ): asserts node is JSDocReturnTag {
1375
+ assert.equal(ts.isJSDocReturnTag(node), true, message);
1376
+ }
1377
+
1378
+ export function isJSDocSatisfiesTag(
1379
+ node: Node,
1380
+ message:
1381
+ | string
1382
+ | Error = `expected JSDocSatisfiesTag, received ${ts.SyntaxKind[node.kind]}`,
1383
+ ): asserts node is JSDocSatisfiesTag {
1384
+ assert.equal(ts.isJSDocSatisfiesTag(node), true, message);
1385
+ }
1386
+
1387
+ export function isJSDocSeeTag(
1388
+ node: Node,
1389
+ message:
1390
+ | string
1391
+ | Error = `expected JSDocSeeTag, received ${ts.SyntaxKind[node.kind]}`,
1392
+ ): asserts node is JSDocSeeTag {
1393
+ assert.equal(ts.isJSDocSeeTag(node), true, message);
1394
+ }
1395
+
1396
+ export function isJSDocSignature(
1397
+ node: Node,
1398
+ message:
1399
+ | string
1400
+ | Error = `expected JSDocSignature, received ${ts.SyntaxKind[node.kind]}`,
1401
+ ): asserts node is JSDocSignature {
1402
+ assert.equal(ts.isJSDocSignature(node), true, message);
1403
+ }
1404
+
1405
+ export function isJSDocTemplateTag(
1406
+ node: Node,
1407
+ message:
1408
+ | string
1409
+ | Error = `expected JSDocTemplateTag, received ${ts.SyntaxKind[node.kind]}`,
1410
+ ): asserts node is JSDocTemplateTag {
1411
+ assert.equal(ts.isJSDocTemplateTag(node), true, message);
1412
+ }
1413
+
1414
+ export function isJSDocThisTag(
1415
+ node: Node,
1416
+ message:
1417
+ | string
1418
+ | Error = `expected JSDocThisTag, received ${ts.SyntaxKind[node.kind]}`,
1419
+ ): asserts node is JSDocThisTag {
1420
+ assert.equal(ts.isJSDocThisTag(node), true, message);
1421
+ }
1422
+
1423
+ export function isJSDocThrowsTag(
1424
+ node: Node,
1425
+ message:
1426
+ | string
1427
+ | Error = `expected JSDocThrowsTag, received ${ts.SyntaxKind[node.kind]}`,
1428
+ ): asserts node is JSDocThrowsTag {
1429
+ assert.equal(ts.isJSDocThrowsTag(node), true, message);
1430
+ }
1431
+
1432
+ export function isJSDocTypedefTag(
1433
+ node: Node,
1434
+ message:
1435
+ | string
1436
+ | Error = `expected JSDocTypedefTag, received ${ts.SyntaxKind[node.kind]}`,
1437
+ ): asserts node is JSDocTypedefTag {
1438
+ assert.equal(ts.isJSDocTypedefTag(node), true, message);
1439
+ }
1440
+
1441
+ export function isJSDocTypeExpression(
1442
+ node: Node,
1443
+ message:
1444
+ | string
1445
+ | Error = `expected JSDocTypeExpression, received ${ts.SyntaxKind[node.kind]}`,
1446
+ ): asserts node is JSDocTypeExpression {
1447
+ assert.equal(ts.isJSDocTypeExpression(node), true, message);
1448
+ }
1449
+
1450
+ export function isJSDocTypeLiteral(
1451
+ node: Node,
1452
+ message:
1453
+ | string
1454
+ | Error = `expected JSDocTypeLiteral, received ${ts.SyntaxKind[node.kind]}`,
1455
+ ): asserts node is JSDocTypeLiteral {
1456
+ assert.equal(ts.isJSDocTypeLiteral(node), true, message);
1457
+ }
1458
+
1459
+ export function isJSDocTypeTag(
1460
+ node: Node,
1461
+ message:
1462
+ | string
1463
+ | Error = `expected JSDocTypeTag, received ${ts.SyntaxKind[node.kind]}`,
1464
+ ): asserts node is JSDocTypeTag {
1465
+ assert.equal(ts.isJSDocTypeTag(node), true, message);
1466
+ }
1467
+
1468
+ export function isJSDocUnknownTag(
1469
+ node: Node,
1470
+ message:
1471
+ | string
1472
+ | Error = `expected JSDocUnknownTag, received ${ts.SyntaxKind[node.kind]}`,
1473
+ ): asserts node is JSDocUnknownTag {
1474
+ assert.equal(ts.isJSDocUnknownTag(node), true, message);
1475
+ }
1476
+
1477
+ export function isJSDocUnknownType(
1478
+ node: Node,
1479
+ message:
1480
+ | string
1481
+ | Error = `expected JSDocUnknownType, received ${ts.SyntaxKind[node.kind]}`,
1482
+ ): asserts node is JSDocUnknownType {
1483
+ assert.equal(ts.isJSDocUnknownType(node), true, message);
1484
+ }
1485
+
1486
+ export function isJSDocVariadicType(
1487
+ node: Node,
1488
+ message:
1489
+ | string
1490
+ | Error = `expected JSDocVariadicType, received ${ts.SyntaxKind[node.kind]}`,
1491
+ ): asserts node is JSDocVariadicType {
1492
+ assert.equal(ts.isJSDocVariadicType(node), true, message);
1493
+ }
1494
+
1495
+ export function isJsxAttribute(
1496
+ node: Node,
1497
+ message:
1498
+ | string
1499
+ | Error = `expected JsxAttribute, received ${ts.SyntaxKind[node.kind]}`,
1500
+ ): asserts node is JsxAttribute {
1501
+ assert.equal(ts.isJsxAttribute(node), true, message);
1502
+ }
1503
+
1504
+ export function isJsxAttributeLike(
1505
+ node: Node,
1506
+ message:
1507
+ | string
1508
+ | Error = `expected JsxAttributeLike, received ${ts.SyntaxKind[node.kind]}`,
1509
+ ): asserts node is JsxAttributeLike {
1510
+ assert.equal(ts.isJsxAttributeLike(node), true, message);
1511
+ }
1512
+
1513
+ export function isJsxAttributes(
1514
+ node: Node,
1515
+ message:
1516
+ | string
1517
+ | Error = `expected JsxAttributes, received ${ts.SyntaxKind[node.kind]}`,
1518
+ ): asserts node is JsxAttributes {
1519
+ assert.equal(ts.isJsxAttributes(node), true, message);
1520
+ }
1521
+
1522
+ export function isJsxCallLike(
1523
+ node: Node,
1524
+ message:
1525
+ | string
1526
+ | Error = `expected JsxCallLike, received ${ts.SyntaxKind[node.kind]}`,
1527
+ ): asserts node is JsxCallLike {
1528
+ assert.equal(ts.isJsxCallLike(node), true, message);
1529
+ }
1530
+
1531
+ export function isJsxChild(
1532
+ node: Node,
1533
+ message:
1534
+ | string
1535
+ | Error = `expected JsxChild, received ${ts.SyntaxKind[node.kind]}`,
1536
+ ): asserts node is JsxChild {
1537
+ assert.equal(ts.isJsxChild(node), true, message);
1538
+ }
1539
+
1540
+ export function isJsxClosingElement(
1541
+ node: Node,
1542
+ message:
1543
+ | string
1544
+ | Error = `expected JsxClosingElement, received ${ts.SyntaxKind[node.kind]}`,
1545
+ ): asserts node is JsxClosingElement {
1546
+ assert.equal(ts.isJsxClosingElement(node), true, message);
1547
+ }
1548
+
1549
+ export function isJsxClosingFragment(
1550
+ node: Node,
1551
+ message:
1552
+ | string
1553
+ | Error = `expected JsxClosingFragment, received ${ts.SyntaxKind[node.kind]}`,
1554
+ ): asserts node is JsxClosingFragment {
1555
+ assert.equal(ts.isJsxClosingFragment(node), true, message);
1556
+ }
1557
+
1558
+ export function isJsxElement(
1559
+ node: Node,
1560
+ message:
1561
+ | string
1562
+ | Error = `expected JsxElement, received ${ts.SyntaxKind[node.kind]}`,
1563
+ ): asserts node is JsxElement {
1564
+ assert.equal(ts.isJsxElement(node), true, message);
1565
+ }
1566
+
1567
+ export function isJsxExpression(
1568
+ node: Node,
1569
+ message:
1570
+ | string
1571
+ | Error = `expected JsxExpression, received ${ts.SyntaxKind[node.kind]}`,
1572
+ ): asserts node is JsxExpression {
1573
+ assert.equal(ts.isJsxExpression(node), true, message);
1574
+ }
1575
+
1576
+ export function isJsxFragment(
1577
+ node: Node,
1578
+ message:
1579
+ | string
1580
+ | Error = `expected JsxFragment, received ${ts.SyntaxKind[node.kind]}`,
1581
+ ): asserts node is JsxFragment {
1582
+ assert.equal(ts.isJsxFragment(node), true, message);
1583
+ }
1584
+
1585
+ export function isJsxNamespacedName(
1586
+ node: Node,
1587
+ message:
1588
+ | string
1589
+ | Error = `expected JsxNamespacedName, received ${ts.SyntaxKind[node.kind]}`,
1590
+ ): asserts node is JsxNamespacedName {
1591
+ assert.equal(ts.isJsxNamespacedName(node), true, message);
1592
+ }
1593
+
1594
+ export function isJsxOpeningElement(
1595
+ node: Node,
1596
+ message:
1597
+ | string
1598
+ | Error = `expected JsxOpeningElement, received ${ts.SyntaxKind[node.kind]}`,
1599
+ ): asserts node is JsxOpeningElement {
1600
+ assert.equal(ts.isJsxOpeningElement(node), true, message);
1601
+ }
1602
+
1603
+ export function isJsxOpeningFragment(
1604
+ node: Node,
1605
+ message:
1606
+ | string
1607
+ | Error = `expected JsxOpeningFragment, received ${ts.SyntaxKind[node.kind]}`,
1608
+ ): asserts node is JsxOpeningFragment {
1609
+ assert.equal(ts.isJsxOpeningFragment(node), true, message);
1610
+ }
1611
+
1612
+ export function isJsxOpeningLikeElement(
1613
+ node: Node,
1614
+ message:
1615
+ | string
1616
+ | Error = `expected JsxOpeningLikeElement, received ${ts.SyntaxKind[node.kind]}`,
1617
+ ): asserts node is JsxOpeningLikeElement {
1618
+ assert.equal(ts.isJsxOpeningLikeElement(node), true, message);
1619
+ }
1620
+
1621
+ export function isJsxSelfClosingElement(
1622
+ node: Node,
1623
+ message:
1624
+ | string
1625
+ | Error = `expected JsxSelfClosingElement, received ${ts.SyntaxKind[node.kind]}`,
1626
+ ): asserts node is JsxSelfClosingElement {
1627
+ assert.equal(ts.isJsxSelfClosingElement(node), true, message);
1628
+ }
1629
+
1630
+ export function isJsxSpreadAttribute(
1631
+ node: Node,
1632
+ message:
1633
+ | string
1634
+ | Error = `expected JsxSpreadAttribute, received ${ts.SyntaxKind[node.kind]}`,
1635
+ ): asserts node is JsxSpreadAttribute {
1636
+ assert.equal(ts.isJsxSpreadAttribute(node), true, message);
1637
+ }
1638
+
1639
+ export function isJsxTagNameExpression(
1640
+ node: Node,
1641
+ message:
1642
+ | string
1643
+ | Error = `expected JsxTagNameExpression, received ${ts.SyntaxKind[node.kind]}`,
1644
+ ): asserts node is JsxTagNameExpression {
1645
+ assert.equal(ts.isJsxTagNameExpression(node), true, message);
1646
+ }
1647
+
1648
+ export function isJsxText(
1649
+ node: Node,
1650
+ message:
1651
+ | string
1652
+ | Error = `expected JsxText, received ${ts.SyntaxKind[node.kind]}`,
1653
+ ): asserts node is JsxText {
1654
+ assert.equal(ts.isJsxText(node), true, message);
1655
+ }
1656
+
1657
+ export function isLabeledStatement(
1658
+ node: Node,
1659
+ message:
1660
+ | string
1661
+ | Error = `expected LabeledStatement, received ${ts.SyntaxKind[node.kind]}`,
1662
+ ): asserts node is LabeledStatement {
1663
+ assert.equal(ts.isLabeledStatement(node), true, message);
1664
+ }
1665
+
1666
+ export function isLeftHandSideExpression(
1667
+ node: Node,
1668
+ message:
1669
+ | string
1670
+ | Error = `expected LeftHandSideExpression, received ${ts.SyntaxKind[node.kind]}`,
1671
+ ): asserts node is LeftHandSideExpression {
1672
+ assert.equal(ts.isLeftHandSideExpression(node), true, message);
1673
+ }
1674
+
1675
+ export function isLiteralExpression(
1676
+ node: Node,
1677
+ message:
1678
+ | string
1679
+ | Error = `expected LiteralExpression, received ${ts.SyntaxKind[node.kind]}`,
1680
+ ): asserts node is LiteralExpression {
1681
+ assert.equal(ts.isLiteralExpression(node), true, message);
1682
+ }
1683
+
1684
+ export function isLiteralTypeNode(
1685
+ node: Node,
1686
+ message:
1687
+ | string
1688
+ | Error = `expected LiteralTypeNode, received ${ts.SyntaxKind[node.kind]}`,
1689
+ ): asserts node is LiteralTypeNode {
1690
+ assert.equal(ts.isLiteralTypeNode(node), true, message);
1691
+ }
1692
+
1693
+ export function isMappedTypeNode(
1694
+ node: Node,
1695
+ message:
1696
+ | string
1697
+ | Error = `expected MappedTypeNode, received ${ts.SyntaxKind[node.kind]}`,
1698
+ ): asserts node is MappedTypeNode {
1699
+ assert.equal(ts.isMappedTypeNode(node), true, message);
1700
+ }
1701
+
1702
+ export function isMemberName(
1703
+ node: Node,
1704
+ message:
1705
+ | string
1706
+ | Error = `expected MemberName, received ${ts.SyntaxKind[node.kind]}`,
1707
+ ): asserts node is MemberName {
1708
+ assert.equal(ts.isMemberName(node), true, message);
1709
+ }
1710
+
1711
+ export function isMetaProperty(
1712
+ node: Node,
1713
+ message:
1714
+ | string
1715
+ | Error = `expected MetaProperty, received ${ts.SyntaxKind[node.kind]}`,
1716
+ ): asserts node is MetaProperty {
1717
+ assert.equal(ts.isMetaProperty(node), true, message);
1718
+ }
1719
+
1720
+ export function isMethodDeclaration(
1721
+ node: Node,
1722
+ message:
1723
+ | string
1724
+ | Error = `expected MethodDeclaration, received ${ts.SyntaxKind[node.kind]}`,
1725
+ ): asserts node is MethodDeclaration {
1726
+ assert.equal(ts.isMethodDeclaration(node), true, message);
1727
+ }
1728
+
1729
+ export function isMethodSignature(
1730
+ node: Node,
1731
+ message:
1732
+ | string
1733
+ | Error = `expected MethodSignature, received ${ts.SyntaxKind[node.kind]}`,
1734
+ ): asserts node is MethodSignature {
1735
+ assert.equal(ts.isMethodSignature(node), true, message);
1736
+ }
1737
+
1738
+ export function isMinusToken(
1739
+ node: Node,
1740
+ message:
1741
+ | string
1742
+ | Error = `expected MinusToken, received ${ts.SyntaxKind[node.kind]}`,
1743
+ ): asserts node is MinusToken {
1744
+ assert.equal(ts.isMinusToken(node), true, message);
1745
+ }
1746
+
1747
+ export function isMissingDeclaration(
1748
+ node: Node,
1749
+ message:
1750
+ | string
1751
+ | Error = `expected MissingDeclaration, received ${ts.SyntaxKind[node.kind]}`,
1752
+ ): asserts node is MissingDeclaration {
1753
+ assert.equal(ts.isMissingDeclaration(node), true, message);
1754
+ }
1755
+
1756
+ export function isModifier(
1757
+ node: Node,
1758
+ message:
1759
+ | string
1760
+ | Error = `expected Modifier, received ${ts.SyntaxKind[node.kind]}`,
1761
+ ): asserts node is Modifier {
1762
+ assert.equal(ts.isModifier(node), true, message);
1763
+ }
1764
+
1765
+ export function isModifierLike(
1766
+ node: Node,
1767
+ message:
1768
+ | string
1769
+ | Error = `expected ModifierLike, received ${ts.SyntaxKind[node.kind]}`,
1770
+ ): asserts node is ModifierLike {
1771
+ assert.equal(ts.isModifierLike(node), true, message);
1772
+ }
1773
+
1774
+ export function isModuleBlock(
1775
+ node: Node,
1776
+ message:
1777
+ | string
1778
+ | Error = `expected ModuleBlock, received ${ts.SyntaxKind[node.kind]}`,
1779
+ ): asserts node is ModuleBlock {
1780
+ assert.equal(ts.isModuleBlock(node), true, message);
1781
+ }
1782
+
1783
+ export function isModuleBody(
1784
+ node: Node,
1785
+ message:
1786
+ | string
1787
+ | Error = `expected ModuleBody, received ${ts.SyntaxKind[node.kind]}`,
1788
+ ): asserts node is ModuleBody {
1789
+ assert.equal(ts.isModuleBody(node), true, message);
1790
+ }
1791
+
1792
+ export function isModuleDeclaration(
1793
+ node: Node,
1794
+ message:
1795
+ | string
1796
+ | Error = `expected ModuleDeclaration, received ${ts.SyntaxKind[node.kind]}`,
1797
+ ): asserts node is ModuleDeclaration {
1798
+ assert.equal(ts.isModuleDeclaration(node), true, message);
1799
+ }
1800
+
1801
+ export function isModuleExportName(
1802
+ node: Node,
1803
+ message:
1804
+ | string
1805
+ | Error = `expected ModuleExportName, received ${ts.SyntaxKind[node.kind]}`,
1806
+ ): asserts node is ModuleExportName {
1807
+ assert.equal(ts.isModuleExportName(node), true, message);
1808
+ }
1809
+
1810
+ export function isModuleName(
1811
+ node: Node,
1812
+ message:
1813
+ | string
1814
+ | Error = `expected ModuleName, received ${ts.SyntaxKind[node.kind]}`,
1815
+ ): asserts node is ModuleName {
1816
+ assert.equal(ts.isModuleName(node), true, message);
1817
+ }
1818
+
1819
+ export function isModuleReference(
1820
+ node: Node,
1821
+ message:
1822
+ | string
1823
+ | Error = `expected ModuleReference, received ${ts.SyntaxKind[node.kind]}`,
1824
+ ): asserts node is ModuleReference {
1825
+ assert.equal(ts.isModuleReference(node), true, message);
1826
+ }
1827
+
1828
+ export function isNamedExportBindings(
1829
+ node: Node,
1830
+ message:
1831
+ | string
1832
+ | Error = `expected NamedExportBindings, received ${ts.SyntaxKind[node.kind]}`,
1833
+ ): asserts node is NamedExportBindings {
1834
+ assert.equal(ts.isNamedExportBindings(node), true, message);
1835
+ }
1836
+
1837
+ export function isNamedExports(
1838
+ node: Node,
1839
+ message:
1840
+ | string
1841
+ | Error = `expected NamedExports, received ${ts.SyntaxKind[node.kind]}`,
1842
+ ): asserts node is NamedExports {
1843
+ assert.equal(ts.isNamedExports(node), true, message);
1844
+ }
1845
+
1846
+ export function isNamedImportBindings(
1847
+ node: Node,
1848
+ message:
1849
+ | string
1850
+ | Error = `expected NamedImportBindings, received ${ts.SyntaxKind[node.kind]}`,
1851
+ ): asserts node is NamedImportBindings {
1852
+ assert.equal(ts.isNamedImportBindings(node), true, message);
1853
+ }
1854
+
1855
+ export function isNamedImports(
1856
+ node: Node,
1857
+ message:
1858
+ | string
1859
+ | Error = `expected NamedImports, received ${ts.SyntaxKind[node.kind]}`,
1860
+ ): asserts node is NamedImports {
1861
+ assert.equal(ts.isNamedImports(node), true, message);
1862
+ }
1863
+
1864
+ export function isNamedTupleMember(
1865
+ node: Node,
1866
+ message:
1867
+ | string
1868
+ | Error = `expected NamedTupleMember, received ${ts.SyntaxKind[node.kind]}`,
1869
+ ): asserts node is NamedTupleMember {
1870
+ assert.equal(ts.isNamedTupleMember(node), true, message);
1871
+ }
1872
+
1873
+ export function isNamespaceExport(
1874
+ node: Node,
1875
+ message:
1876
+ | string
1877
+ | Error = `expected NamespaceExport, received ${ts.SyntaxKind[node.kind]}`,
1878
+ ): asserts node is NamespaceExport {
1879
+ assert.equal(ts.isNamespaceExport(node), true, message);
1880
+ }
1881
+
1882
+ export function isNamespaceExportDeclaration(
1883
+ node: Node,
1884
+ message:
1885
+ | string
1886
+ | Error = `expected NamespaceExportDeclaration, received ${ts.SyntaxKind[node.kind]}`,
1887
+ ): asserts node is NamespaceExportDeclaration {
1888
+ assert.equal(ts.isNamespaceExportDeclaration(node), true, message);
1889
+ }
1890
+
1891
+ export function isNamespaceImport(
1892
+ node: Node,
1893
+ message:
1894
+ | string
1895
+ | Error = `expected NamespaceImport, received ${ts.SyntaxKind[node.kind]}`,
1896
+ ): asserts node is NamespaceImport {
1897
+ assert.equal(ts.isNamespaceImport(node), true, message);
1898
+ }
1899
+
1900
+ export function isNewExpression(
1901
+ node: Node,
1902
+ message:
1903
+ | string
1904
+ | Error = `expected NewExpression, received ${ts.SyntaxKind[node.kind]}`,
1905
+ ): asserts node is NewExpression {
1906
+ assert.equal(ts.isNewExpression(node), true, message);
1907
+ }
1908
+
1909
+ export function isNonNullChain(
1910
+ node: Node,
1911
+ message:
1912
+ | string
1913
+ | Error = `expected NonNullChain, received ${ts.SyntaxKind[node.kind]}`,
1914
+ ): asserts node is NonNullChain {
1915
+ assert.equal(ts.isNonNullChain(node), true, message);
1916
+ }
1917
+
1918
+ export function isNonNullExpression(
1919
+ node: Node,
1920
+ message:
1921
+ | string
1922
+ | Error = `expected NonNullExpression, received ${ts.SyntaxKind[node.kind]}`,
1923
+ ): asserts node is NonNullExpression {
1924
+ assert.equal(ts.isNonNullExpression(node), true, message);
1925
+ }
1926
+
1927
+ export function isNoSubstitutionTemplateLiteral(
1928
+ node: Node,
1929
+ message:
1930
+ | string
1931
+ | Error = `expected NoSubstitutionTemplateLiteral, received ${ts.SyntaxKind[node.kind]}`,
1932
+ ): asserts node is NoSubstitutionTemplateLiteral {
1933
+ assert.equal(ts.isNoSubstitutionTemplateLiteral(node), true, message);
1934
+ }
1935
+
1936
+ export function isNotEmittedStatement(
1937
+ node: Node,
1938
+ message:
1939
+ | string
1940
+ | Error = `expected NotEmittedStatement, received ${ts.SyntaxKind[node.kind]}`,
1941
+ ): asserts node is NotEmittedStatement {
1942
+ assert.equal(ts.isNotEmittedStatement(node), true, message);
1943
+ }
1944
+
1945
+ export function isNumericLiteral(
1946
+ node: Node,
1947
+ message:
1948
+ | string
1949
+ | Error = `expected NumericLiteral, received ${ts.SyntaxKind[node.kind]}`,
1950
+ ): asserts node is NumericLiteral {
1951
+ assert.equal(ts.isNumericLiteral(node), true, message);
1952
+ }
1953
+
1954
+ export function isObjectBindingPattern(
1955
+ node: Node,
1956
+ message:
1957
+ | string
1958
+ | Error = `expected ObjectBindingPattern, received ${ts.SyntaxKind[node.kind]}`,
1959
+ ): asserts node is ObjectBindingPattern {
1960
+ assert.equal(ts.isObjectBindingPattern(node), true, message);
1961
+ }
1962
+
1963
+ export function isObjectLiteralElement(
1964
+ node: Node,
1965
+ message:
1966
+ | string
1967
+ | Error = `expected ObjectLiteralElement, received ${ts.SyntaxKind[node.kind]}`,
1968
+ ): asserts node is ObjectLiteralElement {
1969
+ assert.equal(ts.isObjectLiteralElement(node), true, message);
1970
+ }
1971
+
1972
+ export function isObjectLiteralElementLike(
1973
+ node: Node,
1974
+ message:
1975
+ | string
1976
+ | Error = `expected ObjectLiteralElementLike, received ${ts.SyntaxKind[node.kind]}`,
1977
+ ): asserts node is ObjectLiteralElementLike {
1978
+ assert.equal(ts.isObjectLiteralElementLike(node), true, message);
1979
+ }
1980
+
1981
+ export function isObjectLiteralExpression(
1982
+ node: Node,
1983
+ message:
1984
+ | string
1985
+ | Error = `expected ObjectLiteralExpression, received ${ts.SyntaxKind[node.kind]}`,
1986
+ ): asserts node is ObjectLiteralExpression {
1987
+ assert.equal(ts.isObjectLiteralExpression(node), true, message);
1988
+ }
1989
+
1990
+ export function isOmittedExpression(
1991
+ node: Node,
1992
+ message:
1993
+ | string
1994
+ | Error = `expected OmittedExpression, received ${ts.SyntaxKind[node.kind]}`,
1995
+ ): asserts node is OmittedExpression {
1996
+ assert.equal(ts.isOmittedExpression(node), true, message);
1997
+ }
1998
+
1999
+ export function isOptionalTypeNode(
2000
+ node: Node,
2001
+ message:
2002
+ | string
2003
+ | Error = `expected OptionalTypeNode, received ${ts.SyntaxKind[node.kind]}`,
2004
+ ): asserts node is OptionalTypeNode {
2005
+ assert.equal(ts.isOptionalTypeNode(node), true, message);
2006
+ }
2007
+
2008
+ export function isParameter(
2009
+ node: Node,
2010
+ message:
2011
+ | string
2012
+ | Error = `expected ParameterDeclaration, received ${ts.SyntaxKind[node.kind]}`,
2013
+ ): asserts node is ParameterDeclaration {
2014
+ assert.equal(ts.isParameter(node), true, message);
2015
+ }
2016
+
2017
+ export function isParenthesizedExpression(
2018
+ node: Node,
2019
+ message:
2020
+ | string
2021
+ | Error = `expected ParenthesizedExpression, received ${ts.SyntaxKind[node.kind]}`,
2022
+ ): asserts node is ParenthesizedExpression {
2023
+ assert.equal(ts.isParenthesizedExpression(node), true, message);
2024
+ }
2025
+
2026
+ export function isParenthesizedTypeNode(
2027
+ node: Node,
2028
+ message:
2029
+ | string
2030
+ | Error = `expected ParenthesizedTypeNode, received ${ts.SyntaxKind[node.kind]}`,
2031
+ ): asserts node is ParenthesizedTypeNode {
2032
+ assert.equal(ts.isParenthesizedTypeNode(node), true, message);
2033
+ }
2034
+
2035
+ export function isPartiallyEmittedExpression(
2036
+ node: Node,
2037
+ message:
2038
+ | string
2039
+ | Error = `expected PartiallyEmittedExpression, received ${ts.SyntaxKind[node.kind]}`,
2040
+ ): asserts node is PartiallyEmittedExpression {
2041
+ assert.equal(ts.isPartiallyEmittedExpression(node), true, message);
2042
+ }
2043
+
2044
+ export function isPlusToken(
2045
+ node: Node,
2046
+ message:
2047
+ | string
2048
+ | Error = `expected PlusToken, received ${ts.SyntaxKind[node.kind]}`,
2049
+ ): asserts node is PlusToken {
2050
+ assert.equal(ts.isPlusToken(node), true, message);
2051
+ }
2052
+
2053
+ export function isPostfixUnaryExpression(
2054
+ node: Node,
2055
+ message:
2056
+ | string
2057
+ | Error = `expected PostfixUnaryExpression, received ${ts.SyntaxKind[node.kind]}`,
2058
+ ): asserts node is PostfixUnaryExpression {
2059
+ assert.equal(ts.isPostfixUnaryExpression(node), true, message);
2060
+ }
2061
+
2062
+ export function isPrefixUnaryExpression(
2063
+ node: Node,
2064
+ message:
2065
+ | string
2066
+ | Error = `expected PrefixUnaryExpression, received ${ts.SyntaxKind[node.kind]}`,
2067
+ ): asserts node is PrefixUnaryExpression {
2068
+ assert.equal(ts.isPrefixUnaryExpression(node), true, message);
2069
+ }
2070
+
2071
+ export function isPrivateIdentifier(
2072
+ node: Node,
2073
+ message:
2074
+ | string
2075
+ | Error = `expected PrivateIdentifier, received ${ts.SyntaxKind[node.kind]}`,
2076
+ ): asserts node is PrivateIdentifier {
2077
+ assert.equal(ts.isPrivateIdentifier(node), true, message);
2078
+ }
2079
+
2080
+ export function isPropertyAccessChain(
2081
+ node: Node,
2082
+ message:
2083
+ | string
2084
+ | Error = `expected PropertyAccessChain, received ${ts.SyntaxKind[node.kind]}`,
2085
+ ): asserts node is PropertyAccessChain {
2086
+ assert.equal(ts.isPropertyAccessChain(node), true, message);
2087
+ }
2088
+
2089
+ export function isPropertyAccessExpression(
2090
+ node: Node,
2091
+ message:
2092
+ | string
2093
+ | Error = `expected PropertyAccessExpression, received ${ts.SyntaxKind[node.kind]}`,
2094
+ ): asserts node is PropertyAccessExpression {
2095
+ assert.equal(ts.isPropertyAccessExpression(node), true, message);
2096
+ }
2097
+
2098
+ export function isPropertyAssignment(
2099
+ node: Node,
2100
+ message:
2101
+ | string
2102
+ | Error = `expected PropertyAssignment, received ${ts.SyntaxKind[node.kind]}`,
2103
+ ): asserts node is PropertyAssignment {
2104
+ assert.equal(ts.isPropertyAssignment(node), true, message);
2105
+ }
2106
+
2107
+ export function isPropertyDeclaration(
2108
+ node: Node,
2109
+ message:
2110
+ | string
2111
+ | Error = `expected PropertyDeclaration, received ${ts.SyntaxKind[node.kind]}`,
2112
+ ): asserts node is PropertyDeclaration {
2113
+ assert.equal(ts.isPropertyDeclaration(node), true, message);
2114
+ }
2115
+
2116
+ export function isPropertyName(
2117
+ node: Node,
2118
+ message:
2119
+ | string
2120
+ | Error = `expected PropertyName, received ${ts.SyntaxKind[node.kind]}`,
2121
+ ): asserts node is PropertyName {
2122
+ assert.equal(ts.isPropertyName(node), true, message);
2123
+ }
2124
+
2125
+ export function isPropertySignature(
2126
+ node: Node,
2127
+ message:
2128
+ | string
2129
+ | Error = `expected PropertySignature, received ${ts.SyntaxKind[node.kind]}`,
2130
+ ): asserts node is PropertySignature {
2131
+ assert.equal(ts.isPropertySignature(node), true, message);
2132
+ }
2133
+
2134
+ export function isQualifiedName(
2135
+ node: Node,
2136
+ message:
2137
+ | string
2138
+ | Error = `expected QualifiedName, received ${ts.SyntaxKind[node.kind]}`,
2139
+ ): asserts node is QualifiedName {
2140
+ assert.equal(ts.isQualifiedName(node), true, message);
2141
+ }
2142
+
2143
+ export function isQuestionDotToken(
2144
+ node: Node,
2145
+ message:
2146
+ | string
2147
+ | Error = `expected QuestionDotToken, received ${ts.SyntaxKind[node.kind]}`,
2148
+ ): asserts node is QuestionDotToken {
2149
+ assert.equal(ts.isQuestionDotToken(node), true, message);
2150
+ }
2151
+
2152
+ export function isQuestionToken(
2153
+ node: Node,
2154
+ message:
2155
+ | string
2156
+ | Error = `expected QuestionToken, received ${ts.SyntaxKind[node.kind]}`,
2157
+ ): asserts node is QuestionToken {
2158
+ assert.equal(ts.isQuestionToken(node), true, message);
2159
+ }
2160
+
2161
+ export function isRegularExpressionLiteral(
2162
+ node: Node,
2163
+ message:
2164
+ | string
2165
+ | Error = `expected RegularExpressionLiteral, received ${ts.SyntaxKind[node.kind]}`,
2166
+ ): asserts node is RegularExpressionLiteral {
2167
+ assert.equal(ts.isRegularExpressionLiteral(node), true, message);
2168
+ }
2169
+
2170
+ export function isRestTypeNode(
2171
+ node: Node,
2172
+ message:
2173
+ | string
2174
+ | Error = `expected RestTypeNode, received ${ts.SyntaxKind[node.kind]}`,
2175
+ ): asserts node is RestTypeNode {
2176
+ assert.equal(ts.isRestTypeNode(node), true, message);
2177
+ }
2178
+
2179
+ export function isReturnStatement(
2180
+ node: Node,
2181
+ message:
2182
+ | string
2183
+ | Error = `expected ReturnStatement, received ${ts.SyntaxKind[node.kind]}`,
2184
+ ): asserts node is ReturnStatement {
2185
+ assert.equal(ts.isReturnStatement(node), true, message);
2186
+ }
2187
+
2188
+ export function isSatisfiesExpression(
2189
+ node: Node,
2190
+ message:
2191
+ | string
2192
+ | Error = `expected SatisfiesExpression, received ${ts.SyntaxKind[node.kind]}`,
2193
+ ): asserts node is SatisfiesExpression {
2194
+ assert.equal(ts.isSatisfiesExpression(node), true, message);
2195
+ }
2196
+
2197
+ export function isSemicolonClassElement(
2198
+ node: Node,
2199
+ message:
2200
+ | string
2201
+ | Error = `expected SemicolonClassElement, received ${ts.SyntaxKind[node.kind]}`,
2202
+ ): asserts node is SemicolonClassElement {
2203
+ assert.equal(ts.isSemicolonClassElement(node), true, message);
2204
+ }
2205
+
2206
+ export function isSetAccessor(
2207
+ node: Node,
2208
+ message:
2209
+ | string
2210
+ | Error = `expected SetAccessorDeclaration, received ${ts.SyntaxKind[node.kind]}`,
2211
+ ): asserts node is SetAccessorDeclaration {
2212
+ assert.equal(ts.isSetAccessor(node), true, message);
2213
+ }
2214
+
2215
+ export function isSetAccessorDeclaration(
2216
+ node: Node,
2217
+ message:
2218
+ | string
2219
+ | Error = `expected SetAccessorDeclaration, received ${ts.SyntaxKind[node.kind]}`,
2220
+ ): asserts node is SetAccessorDeclaration {
2221
+ assert.equal(ts.isSetAccessorDeclaration(node), true, message);
2222
+ }
2223
+
2224
+ export function isShorthandPropertyAssignment(
2225
+ node: Node,
2226
+ message:
2227
+ | string
2228
+ | Error = `expected ShorthandPropertyAssignment, received ${ts.SyntaxKind[node.kind]}`,
2229
+ ): asserts node is ShorthandPropertyAssignment {
2230
+ assert.equal(ts.isShorthandPropertyAssignment(node), true, message);
2231
+ }
2232
+
2233
+ export function isSourceFile(
2234
+ node: Node,
2235
+ message:
2236
+ | string
2237
+ | Error = `expected SourceFile, received ${ts.SyntaxKind[node.kind]}`,
2238
+ ): asserts node is SourceFile {
2239
+ assert.equal(ts.isSourceFile(node), true, message);
2240
+ }
2241
+
2242
+ export function isSpreadAssignment(
2243
+ node: Node,
2244
+ message:
2245
+ | string
2246
+ | Error = `expected SpreadAssignment, received ${ts.SyntaxKind[node.kind]}`,
2247
+ ): asserts node is SpreadAssignment {
2248
+ assert.equal(ts.isSpreadAssignment(node), true, message);
2249
+ }
2250
+
2251
+ export function isSpreadElement(
2252
+ node: Node,
2253
+ message:
2254
+ | string
2255
+ | Error = `expected SpreadElement, received ${ts.SyntaxKind[node.kind]}`,
2256
+ ): asserts node is SpreadElement {
2257
+ assert.equal(ts.isSpreadElement(node), true, message);
2258
+ }
2259
+
2260
+ export function isStatement(
2261
+ node: Node,
2262
+ message:
2263
+ | string
2264
+ | Error = `expected Statement, received ${ts.SyntaxKind[node.kind]}`,
2265
+ ): asserts node is Statement {
2266
+ assert.equal(ts.isStatement(node), true, message);
2267
+ }
2268
+
2269
+ export function isStringLiteral(
2270
+ node: Node,
2271
+ message:
2272
+ | string
2273
+ | Error = `expected StringLiteral, received ${ts.SyntaxKind[node.kind]}`,
2274
+ ): asserts node is StringLiteral {
2275
+ assert.equal(ts.isStringLiteral(node), true, message);
2276
+ }
2277
+
2278
+ export function isSwitchStatement(
2279
+ node: Node,
2280
+ message:
2281
+ | string
2282
+ | Error = `expected SwitchStatement, received ${ts.SyntaxKind[node.kind]}`,
2283
+ ): asserts node is SwitchStatement {
2284
+ assert.equal(ts.isSwitchStatement(node), true, message);
2285
+ }
2286
+
2287
+ export function isSyntheticExpression(
2288
+ node: Node,
2289
+ message:
2290
+ | string
2291
+ | Error = `expected SyntheticExpression, received ${ts.SyntaxKind[node.kind]}`,
2292
+ ): asserts node is SyntheticExpression {
2293
+ assert.equal(ts.isSyntheticExpression(node), true, message);
2294
+ }
2295
+
2296
+ export function isTaggedTemplateExpression(
2297
+ node: Node,
2298
+ message:
2299
+ | string
2300
+ | Error = `expected TaggedTemplateExpression, received ${ts.SyntaxKind[node.kind]}`,
2301
+ ): asserts node is TaggedTemplateExpression {
2302
+ assert.equal(ts.isTaggedTemplateExpression(node), true, message);
2303
+ }
2304
+
2305
+ export function isTemplateExpression(
2306
+ node: Node,
2307
+ message:
2308
+ | string
2309
+ | Error = `expected TemplateExpression, received ${ts.SyntaxKind[node.kind]}`,
2310
+ ): asserts node is TemplateExpression {
2311
+ assert.equal(ts.isTemplateExpression(node), true, message);
2312
+ }
2313
+
2314
+ export function isTemplateHead(
2315
+ node: Node,
2316
+ message:
2317
+ | string
2318
+ | Error = `expected TemplateHead, received ${ts.SyntaxKind[node.kind]}`,
2319
+ ): asserts node is TemplateHead {
2320
+ assert.equal(ts.isTemplateHead(node), true, message);
2321
+ }
2322
+
2323
+ export function isTemplateLiteral(
2324
+ node: Node,
2325
+ message:
2326
+ | string
2327
+ | Error = `expected TemplateLiteral, received ${ts.SyntaxKind[node.kind]}`,
2328
+ ): asserts node is TemplateLiteral {
2329
+ assert.equal(ts.isTemplateLiteral(node), true, message);
2330
+ }
2331
+
2332
+ export function isTemplateLiteralToken(
2333
+ node: Node,
2334
+ message:
2335
+ | string
2336
+ | Error = `expected TemplateLiteralToken, received ${ts.SyntaxKind[node.kind]}`,
2337
+ ): asserts node is TemplateLiteralToken {
2338
+ assert.equal(ts.isTemplateLiteralToken(node), true, message);
2339
+ }
2340
+
2341
+ export function isTemplateLiteralTypeNode(
2342
+ node: Node,
2343
+ message:
2344
+ | string
2345
+ | Error = `expected TemplateLiteralTypeNode, received ${ts.SyntaxKind[node.kind]}`,
2346
+ ): asserts node is TemplateLiteralTypeNode {
2347
+ assert.equal(ts.isTemplateLiteralTypeNode(node), true, message);
2348
+ }
2349
+
2350
+ export function isTemplateLiteralTypeSpan(
2351
+ node: Node,
2352
+ message:
2353
+ | string
2354
+ | Error = `expected TemplateLiteralTypeSpan, received ${ts.SyntaxKind[node.kind]}`,
2355
+ ): asserts node is TemplateLiteralTypeSpan {
2356
+ assert.equal(ts.isTemplateLiteralTypeSpan(node), true, message);
2357
+ }
2358
+
2359
+ export function isTemplateMiddle(
2360
+ node: Node,
2361
+ message:
2362
+ | string
2363
+ | Error = `expected TemplateMiddle, received ${ts.SyntaxKind[node.kind]}`,
2364
+ ): asserts node is TemplateMiddle {
2365
+ assert.equal(ts.isTemplateMiddle(node), true, message);
2366
+ }
2367
+
2368
+ export function isTemplateSpan(
2369
+ node: Node,
2370
+ message:
2371
+ | string
2372
+ | Error = `expected TemplateSpan, received ${ts.SyntaxKind[node.kind]}`,
2373
+ ): asserts node is TemplateSpan {
2374
+ assert.equal(ts.isTemplateSpan(node), true, message);
2375
+ }
2376
+
2377
+ export function isTemplateTail(
2378
+ node: Node,
2379
+ message:
2380
+ | string
2381
+ | Error = `expected TemplateTail, received ${ts.SyntaxKind[node.kind]}`,
2382
+ ): asserts node is TemplateTail {
2383
+ assert.equal(ts.isTemplateTail(node), true, message);
2384
+ }
2385
+
2386
+ export function isThisTypeNode(
2387
+ node: Node,
2388
+ message:
2389
+ | string
2390
+ | Error = `expected ThisTypeNode, received ${ts.SyntaxKind[node.kind]}`,
2391
+ ): asserts node is ThisTypeNode {
2392
+ assert.equal(ts.isThisTypeNode(node), true, message);
2393
+ }
2394
+
2395
+ export function isThrowStatement(
2396
+ node: Node,
2397
+ message:
2398
+ | string
2399
+ | Error = `expected ThrowStatement, received ${ts.SyntaxKind[node.kind]}`,
2400
+ ): asserts node is ThrowStatement {
2401
+ assert.equal(ts.isThrowStatement(node), true, message);
2402
+ }
2403
+
2404
+ export function isTryStatement(
2405
+ node: Node,
2406
+ message:
2407
+ | string
2408
+ | Error = `expected TryStatement, received ${ts.SyntaxKind[node.kind]}`,
2409
+ ): asserts node is TryStatement {
2410
+ assert.equal(ts.isTryStatement(node), true, message);
2411
+ }
2412
+
2413
+ export function isTupleTypeNode(
2414
+ node: Node,
2415
+ message:
2416
+ | string
2417
+ | Error = `expected TupleTypeNode, received ${ts.SyntaxKind[node.kind]}`,
2418
+ ): asserts node is TupleTypeNode {
2419
+ assert.equal(ts.isTupleTypeNode(node), true, message);
2420
+ }
2421
+
2422
+ export function isTypeAliasDeclaration(
2423
+ node: Node,
2424
+ message:
2425
+ | string
2426
+ | Error = `expected TypeAliasDeclaration, received ${ts.SyntaxKind[node.kind]}`,
2427
+ ): asserts node is TypeAliasDeclaration {
2428
+ assert.equal(ts.isTypeAliasDeclaration(node), true, message);
2429
+ }
2430
+
2431
+ export function isTypeAssertionExpression(
2432
+ node: Node,
2433
+ message:
2434
+ | string
2435
+ | Error = `expected TypeAssertion, received ${ts.SyntaxKind[node.kind]}`,
2436
+ ): asserts node is TypeAssertion {
2437
+ assert.equal(ts.isTypeAssertionExpression(node), true, message);
2438
+ }
2439
+
2440
+ export function isTypeElement(
2441
+ node: Node,
2442
+ message:
2443
+ | string
2444
+ | Error = `expected TypeElement, received ${ts.SyntaxKind[node.kind]}`,
2445
+ ): asserts node is TypeElement {
2446
+ assert.equal(ts.isTypeElement(node), true, message);
2447
+ }
2448
+
2449
+ export function isTypeLiteralNode(
2450
+ node: Node,
2451
+ message:
2452
+ | string
2453
+ | Error = `expected TypeLiteralNode, received ${ts.SyntaxKind[node.kind]}`,
2454
+ ): asserts node is TypeLiteralNode {
2455
+ assert.equal(ts.isTypeLiteralNode(node), true, message);
2456
+ }
2457
+
2458
+ export function isTypeNode(
2459
+ node: Node,
2460
+ message:
2461
+ | string
2462
+ | Error = `expected TypeNode, received ${ts.SyntaxKind[node.kind]}`,
2463
+ ): asserts node is TypeNode {
2464
+ assert.equal(ts.isTypeNode(node), true, message);
2465
+ }
2466
+
2467
+ export function isTypeOfExpression(
2468
+ node: Node,
2469
+ message:
2470
+ | string
2471
+ | Error = `expected TypeOfExpression, received ${ts.SyntaxKind[node.kind]}`,
2472
+ ): asserts node is TypeOfExpression {
2473
+ assert.equal(ts.isTypeOfExpression(node), true, message);
2474
+ }
2475
+
2476
+ export function isTypeOnlyExportDeclaration(
2477
+ node: Node,
2478
+ message:
2479
+ | string
2480
+ | Error = `expected TypeOnlyExportDeclaration, received ${ts.SyntaxKind[node.kind]}`,
2481
+ ): asserts node is TypeOnlyExportDeclaration {
2482
+ assert.equal(ts.isTypeOnlyExportDeclaration(node), true, message);
2483
+ }
2484
+
2485
+ export function isTypeOnlyImportDeclaration(
2486
+ node: Node,
2487
+ message:
2488
+ | string
2489
+ | Error = `expected TypeOnlyImportDeclaration, received ${ts.SyntaxKind[node.kind]}`,
2490
+ ): asserts node is TypeOnlyImportDeclaration {
2491
+ assert.equal(ts.isTypeOnlyImportDeclaration(node), true, message);
2492
+ }
2493
+
2494
+ export function isTypeOnlyImportOrExportDeclaration(
2495
+ node: Node,
2496
+ message:
2497
+ | string
2498
+ | Error = `expected TypeOnlyAliasDeclaration, received ${ts.SyntaxKind[node.kind]}`,
2499
+ ): asserts node is TypeOnlyAliasDeclaration {
2500
+ assert.equal(ts.isTypeOnlyImportOrExportDeclaration(node), true, message);
2501
+ }
2502
+
2503
+ export function isTypeOperatorNode(
2504
+ node: Node,
2505
+ message:
2506
+ | string
2507
+ | Error = `expected TypeOperatorNode, received ${ts.SyntaxKind[node.kind]}`,
2508
+ ): asserts node is TypeOperatorNode {
2509
+ assert.equal(ts.isTypeOperatorNode(node), true, message);
2510
+ }
2511
+
2512
+ export function isTypeParameterDeclaration(
2513
+ node: Node,
2514
+ message:
2515
+ | string
2516
+ | Error = `expected TypeParameterDeclaration, received ${ts.SyntaxKind[node.kind]}`,
2517
+ ): asserts node is TypeParameterDeclaration {
2518
+ assert.equal(ts.isTypeParameterDeclaration(node), true, message);
2519
+ }
2520
+
2521
+ export function isTypePredicateNode(
2522
+ node: Node,
2523
+ message:
2524
+ | string
2525
+ | Error = `expected TypePredicateNode, received ${ts.SyntaxKind[node.kind]}`,
2526
+ ): asserts node is TypePredicateNode {
2527
+ assert.equal(ts.isTypePredicateNode(node), true, message);
2528
+ }
2529
+
2530
+ export function isTypeQueryNode(
2531
+ node: Node,
2532
+ message:
2533
+ | string
2534
+ | Error = `expected TypeQueryNode, received ${ts.SyntaxKind[node.kind]}`,
2535
+ ): asserts node is TypeQueryNode {
2536
+ assert.equal(ts.isTypeQueryNode(node), true, message);
2537
+ }
2538
+
2539
+ export function isTypeReferenceNode(
2540
+ node: Node,
2541
+ message:
2542
+ | string
2543
+ | Error = `expected TypeReferenceNode, received ${ts.SyntaxKind[node.kind]}`,
2544
+ ): asserts node is TypeReferenceNode {
2545
+ assert.equal(ts.isTypeReferenceNode(node), true, message);
2546
+ }
2547
+
2548
+ export function isUnionTypeNode(
2549
+ node: Node,
2550
+ message:
2551
+ | string
2552
+ | Error = `expected UnionTypeNode, received ${ts.SyntaxKind[node.kind]}`,
2553
+ ): asserts node is UnionTypeNode {
2554
+ assert.equal(ts.isUnionTypeNode(node), true, message);
2555
+ }
2556
+
2557
+ export function isVariableDeclaration(
2558
+ node: Node,
2559
+ message:
2560
+ | string
2561
+ | Error = `expected VariableDeclaration, received ${ts.SyntaxKind[node.kind]}`,
2562
+ ): asserts node is VariableDeclaration {
2563
+ assert.equal(ts.isVariableDeclaration(node), true, message);
2564
+ }
2565
+
2566
+ export function isVariableDeclarationList(
2567
+ node: Node,
2568
+ message:
2569
+ | string
2570
+ | Error = `expected VariableDeclarationList, received ${ts.SyntaxKind[node.kind]}`,
2571
+ ): asserts node is VariableDeclarationList {
2572
+ assert.equal(ts.isVariableDeclarationList(node), true, message);
2573
+ }
2574
+
2575
+ export function isVariableStatement(
2576
+ node: Node,
2577
+ message:
2578
+ | string
2579
+ | Error = `expected VariableStatement, received ${ts.SyntaxKind[node.kind]}`,
2580
+ ): asserts node is VariableStatement {
2581
+ assert.equal(ts.isVariableStatement(node), true, message);
2582
+ }
2583
+
2584
+ export function isVoidExpression(
2585
+ node: Node,
2586
+ message:
2587
+ | string
2588
+ | Error = `expected VoidExpression, received ${ts.SyntaxKind[node.kind]}`,
2589
+ ): asserts node is VoidExpression {
2590
+ assert.equal(ts.isVoidExpression(node), true, message);
2591
+ }
2592
+
2593
+ export function isWhileStatement(
2594
+ node: Node,
2595
+ message:
2596
+ | string
2597
+ | Error = `expected WhileStatement, received ${ts.SyntaxKind[node.kind]}`,
2598
+ ): asserts node is WhileStatement {
2599
+ assert.equal(ts.isWhileStatement(node), true, message);
2600
+ }
2601
+
2602
+ export function isWithStatement(
2603
+ node: Node,
2604
+ message:
2605
+ | string
2606
+ | Error = `expected WithStatement, received ${ts.SyntaxKind[node.kind]}`,
2607
+ ): asserts node is WithStatement {
2608
+ assert.equal(ts.isWithStatement(node), true, message);
2609
+ }
2610
+
2611
+ export function isYieldExpression(
2612
+ node: Node,
2613
+ message:
2614
+ | string
2615
+ | Error = `expected YieldExpression, received ${ts.SyntaxKind[node.kind]}`,
2616
+ ): asserts node is YieldExpression {
2617
+ assert.equal(ts.isYieldExpression(node), true, message);
2618
+ }
2619
+
2620
+ export default {
2621
+ isAccessor,
2622
+ isArrayBindingElement,
2623
+ isArrayBindingPattern,
2624
+ isArrayLiteralExpression,
2625
+ isArrayTypeNode,
2626
+ isArrowFunction,
2627
+ isAsExpression,
2628
+ isAssertionExpression,
2629
+ isAssertsKeyword,
2630
+ isAsteriskToken,
2631
+ isAutoAccessorPropertyDeclaration,
2632
+ isAwaitExpression,
2633
+ isAwaitKeyword,
2634
+ isBigIntLiteral,
2635
+ isBinaryExpression,
2636
+ isBinaryOperatorToken,
2637
+ isBindingElement,
2638
+ isBindingName,
2639
+ isBlock,
2640
+ isBreakOrContinueStatement,
2641
+ isBreakStatement,
2642
+ isBundle,
2643
+ isCallChain,
2644
+ isCallExpression,
2645
+ isCallLikeExpression,
2646
+ isCallSignatureDeclaration,
2647
+ isCaseBlock,
2648
+ isCaseClause,
2649
+ isCaseOrDefaultClause,
2650
+ isCatchClause,
2651
+ isClassDeclaration,
2652
+ isClassElement,
2653
+ isClassExpression,
2654
+ isClassLike,
2655
+ isClassStaticBlockDeclaration,
2656
+ isColonToken,
2657
+ isCommaListExpression,
2658
+ isComputedPropertyName,
2659
+ isConciseBody,
2660
+ isConditionalExpression,
2661
+ isConditionalTypeNode,
2662
+ isConstructorDeclaration,
2663
+ isConstructorTypeNode,
2664
+ isConstructSignatureDeclaration,
2665
+ isContinueStatement,
2666
+ isDebuggerStatement,
2667
+ isDeclarationStatement,
2668
+ isDecorator,
2669
+ isDefaultClause,
2670
+ isDeleteExpression,
2671
+ isDoStatement,
2672
+ isDotDotDotToken,
2673
+ isElementAccessChain,
2674
+ isElementAccessExpression,
2675
+ isEmptyBindingPattern,
2676
+ isEmptyStatement,
2677
+ isEntityName,
2678
+ isEnumDeclaration,
2679
+ isEnumMember,
2680
+ isEqualsGreaterThanToken,
2681
+ isExclamationToken,
2682
+ isExportAssignment,
2683
+ isExportDeclaration,
2684
+ isExportSpecifier,
2685
+ isExpression,
2686
+ isExpressionStatement,
2687
+ isExpressionWithTypeArguments,
2688
+ isExternalModuleReference,
2689
+ isForInitializer,
2690
+ isForInStatement,
2691
+ isForOfStatement,
2692
+ isForStatement,
2693
+ isFunctionDeclaration,
2694
+ isFunctionExpression,
2695
+ isFunctionTypeNode,
2696
+ isGetAccessor,
2697
+ isGetAccessorDeclaration,
2698
+ isHeritageClause,
2699
+ isIdentifier,
2700
+ isIfStatement,
2701
+ isImportAttribute,
2702
+ isImportAttributeName,
2703
+ isImportAttributes,
2704
+ isImportClause,
2705
+ isImportDeclaration,
2706
+ isImportEqualsDeclaration,
2707
+ isImportSpecifier,
2708
+ isImportTypeNode,
2709
+ isIndexedAccessTypeNode,
2710
+ isIndexSignatureDeclaration,
2711
+ isInferTypeNode,
2712
+ isInterfaceDeclaration,
2713
+ isIntersectionTypeNode,
2714
+ isJSDoc,
2715
+ isJSDocAllType,
2716
+ isJSDocAugmentsTag,
2717
+ isJSDocAuthorTag,
2718
+ isJSDocCallbackTag,
2719
+ isJSDocClassTag,
2720
+ isJSDocDeprecatedTag,
2721
+ isJSDocEnumTag,
2722
+ isJSDocFunctionType,
2723
+ isJSDocImplementsTag,
2724
+ isJSDocImportTag,
2725
+ isJSDocLink,
2726
+ isJSDocLinkCode,
2727
+ isJSDocLinkPlain,
2728
+ isJSDocMemberName,
2729
+ isJSDocNamepathType,
2730
+ isJSDocNameReference,
2731
+ isJSDocNonNullableType,
2732
+ isJSDocNullableType,
2733
+ isJSDocOptionalType,
2734
+ isJSDocOverloadTag,
2735
+ isJSDocOverrideTag,
2736
+ isJSDocParameterTag,
2737
+ isJSDocPrivateTag,
2738
+ isJSDocPropertyLikeTag,
2739
+ isJSDocPropertyTag,
2740
+ isJSDocProtectedTag,
2741
+ isJSDocPublicTag,
2742
+ isJSDocReadonlyTag,
2743
+ isJSDocReturnTag,
2744
+ isJSDocSatisfiesTag,
2745
+ isJSDocSeeTag,
2746
+ isJSDocSignature,
2747
+ isJSDocTemplateTag,
2748
+ isJSDocThisTag,
2749
+ isJSDocThrowsTag,
2750
+ isJSDocTypedefTag,
2751
+ isJSDocTypeExpression,
2752
+ isJSDocTypeLiteral,
2753
+ isJSDocTypeTag,
2754
+ isJSDocUnknownTag,
2755
+ isJSDocUnknownType,
2756
+ isJSDocVariadicType,
2757
+ isJsxAttribute,
2758
+ isJsxAttributeLike,
2759
+ isJsxAttributes,
2760
+ isJsxCallLike,
2761
+ isJsxChild,
2762
+ isJsxClosingElement,
2763
+ isJsxClosingFragment,
2764
+ isJsxElement,
2765
+ isJsxExpression,
2766
+ isJsxFragment,
2767
+ isJsxNamespacedName,
2768
+ isJsxOpeningElement,
2769
+ isJsxOpeningFragment,
2770
+ isJsxOpeningLikeElement,
2771
+ isJsxSelfClosingElement,
2772
+ isJsxSpreadAttribute,
2773
+ isJsxTagNameExpression,
2774
+ isJsxText,
2775
+ isLabeledStatement,
2776
+ isLeftHandSideExpression,
2777
+ isLiteralExpression,
2778
+ isLiteralTypeNode,
2779
+ isMappedTypeNode,
2780
+ isMemberName,
2781
+ isMetaProperty,
2782
+ isMethodDeclaration,
2783
+ isMethodSignature,
2784
+ isMinusToken,
2785
+ isMissingDeclaration,
2786
+ isModifier,
2787
+ isModifierLike,
2788
+ isModuleBlock,
2789
+ isModuleBody,
2790
+ isModuleDeclaration,
2791
+ isModuleExportName,
2792
+ isModuleName,
2793
+ isModuleReference,
2794
+ isNamedExportBindings,
2795
+ isNamedExports,
2796
+ isNamedImportBindings,
2797
+ isNamedImports,
2798
+ isNamedTupleMember,
2799
+ isNamespaceExport,
2800
+ isNamespaceExportDeclaration,
2801
+ isNamespaceImport,
2802
+ isNewExpression,
2803
+ isNonNullChain,
2804
+ isNonNullExpression,
2805
+ isNoSubstitutionTemplateLiteral,
2806
+ isNotEmittedStatement,
2807
+ isNumericLiteral,
2808
+ isObjectBindingPattern,
2809
+ isObjectLiteralElement,
2810
+ isObjectLiteralElementLike,
2811
+ isObjectLiteralExpression,
2812
+ isOmittedExpression,
2813
+ isOptionalTypeNode,
2814
+ isParameter,
2815
+ isParenthesizedExpression,
2816
+ isParenthesizedTypeNode,
2817
+ isPartiallyEmittedExpression,
2818
+ isPlusToken,
2819
+ isPostfixUnaryExpression,
2820
+ isPrefixUnaryExpression,
2821
+ isPrivateIdentifier,
2822
+ isPropertyAccessChain,
2823
+ isPropertyAccessExpression,
2824
+ isPropertyAssignment,
2825
+ isPropertyDeclaration,
2826
+ isPropertyName,
2827
+ isPropertySignature,
2828
+ isQualifiedName,
2829
+ isQuestionDotToken,
2830
+ isQuestionToken,
2831
+ isRegularExpressionLiteral,
2832
+ isRestTypeNode,
2833
+ isReturnStatement,
2834
+ isSatisfiesExpression,
2835
+ isSemicolonClassElement,
2836
+ isSetAccessor,
2837
+ isSetAccessorDeclaration,
2838
+ isShorthandPropertyAssignment,
2839
+ isSourceFile,
2840
+ isSpreadAssignment,
2841
+ isSpreadElement,
2842
+ isStatement,
2843
+ isStringLiteral,
2844
+ isSwitchStatement,
2845
+ isSyntheticExpression,
2846
+ isTaggedTemplateExpression,
2847
+ isTemplateExpression,
2848
+ isTemplateHead,
2849
+ isTemplateLiteral,
2850
+ isTemplateLiteralToken,
2851
+ isTemplateLiteralTypeNode,
2852
+ isTemplateLiteralTypeSpan,
2853
+ isTemplateMiddle,
2854
+ isTemplateSpan,
2855
+ isTemplateTail,
2856
+ isThisTypeNode,
2857
+ isThrowStatement,
2858
+ isTryStatement,
2859
+ isTupleTypeNode,
2860
+ isTypeAliasDeclaration,
2861
+ isTypeAssertionExpression,
2862
+ isTypeElement,
2863
+ isTypeLiteralNode,
2864
+ isTypeNode,
2865
+ isTypeOfExpression,
2866
+ isTypeOnlyExportDeclaration,
2867
+ isTypeOnlyImportDeclaration,
2868
+ isTypeOnlyImportOrExportDeclaration,
2869
+ isTypeOperatorNode,
2870
+ isTypeParameterDeclaration,
2871
+ isTypePredicateNode,
2872
+ isTypeQueryNode,
2873
+ isTypeReferenceNode,
2874
+ isUnionTypeNode,
2875
+ isVariableDeclaration,
2876
+ isVariableDeclarationList,
2877
+ isVariableStatement,
2878
+ isVoidExpression,
2879
+ isWhileStatement,
2880
+ isWithStatement,
2881
+ isYieldExpression,
2882
+ };