.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / tslint / node_modules / tsutils / typeguard / 2.8 / node.js
1 "use strict";
2 Object.defineProperty(exports, "__esModule", { value: true });
3 var ts = require("typescript");
4 function isAccessorDeclaration(node) {
5     return node.kind === ts.SyntaxKind.GetAccessor ||
6         node.kind === ts.SyntaxKind.SetAccessor;
7 }
8 exports.isAccessorDeclaration = isAccessorDeclaration;
9 function isArrayBindingPattern(node) {
10     return node.kind === ts.SyntaxKind.ArrayBindingPattern;
11 }
12 exports.isArrayBindingPattern = isArrayBindingPattern;
13 function isArrayLiteralExpression(node) {
14     return node.kind === ts.SyntaxKind.ArrayLiteralExpression;
15 }
16 exports.isArrayLiteralExpression = isArrayLiteralExpression;
17 function isArrayTypeNode(node) {
18     return node.kind === ts.SyntaxKind.ArrayType;
19 }
20 exports.isArrayTypeNode = isArrayTypeNode;
21 function isArrowFunction(node) {
22     return node.kind === ts.SyntaxKind.ArrowFunction;
23 }
24 exports.isArrowFunction = isArrowFunction;
25 function isAsExpression(node) {
26     return node.kind === ts.SyntaxKind.AsExpression;
27 }
28 exports.isAsExpression = isAsExpression;
29 function isAssertionExpression(node) {
30     return node.kind === ts.SyntaxKind.AsExpression ||
31         node.kind === ts.SyntaxKind.TypeAssertionExpression;
32 }
33 exports.isAssertionExpression = isAssertionExpression;
34 function isAwaitExpression(node) {
35     return node.kind === ts.SyntaxKind.AwaitExpression;
36 }
37 exports.isAwaitExpression = isAwaitExpression;
38 function isBinaryExpression(node) {
39     return node.kind === ts.SyntaxKind.BinaryExpression;
40 }
41 exports.isBinaryExpression = isBinaryExpression;
42 function isBindingElement(node) {
43     return node.kind === ts.SyntaxKind.BindingElement;
44 }
45 exports.isBindingElement = isBindingElement;
46 function isBindingPattern(node) {
47     return node.kind === ts.SyntaxKind.ArrayBindingPattern ||
48         node.kind === ts.SyntaxKind.ObjectBindingPattern;
49 }
50 exports.isBindingPattern = isBindingPattern;
51 function isBlock(node) {
52     return node.kind === ts.SyntaxKind.Block;
53 }
54 exports.isBlock = isBlock;
55 function isBlockLike(node) {
56     return node.statements !== undefined;
57 }
58 exports.isBlockLike = isBlockLike;
59 function isBreakOrContinueStatement(node) {
60     return node.kind === ts.SyntaxKind.BreakStatement ||
61         node.kind === ts.SyntaxKind.ContinueStatement;
62 }
63 exports.isBreakOrContinueStatement = isBreakOrContinueStatement;
64 function isBreakStatement(node) {
65     return node.kind === ts.SyntaxKind.BreakStatement;
66 }
67 exports.isBreakStatement = isBreakStatement;
68 function isCallExpression(node) {
69     return node.kind === ts.SyntaxKind.CallExpression;
70 }
71 exports.isCallExpression = isCallExpression;
72 function isCallLikeExpression(node) {
73     switch (node.kind) {
74         case ts.SyntaxKind.CallExpression:
75         case ts.SyntaxKind.Decorator:
76         case ts.SyntaxKind.JsxOpeningElement:
77         case ts.SyntaxKind.JsxSelfClosingElement:
78         case ts.SyntaxKind.NewExpression:
79         case ts.SyntaxKind.TaggedTemplateExpression:
80             return true;
81         default:
82             return false;
83     }
84 }
85 exports.isCallLikeExpression = isCallLikeExpression;
86 function isCallSignatureDeclaration(node) {
87     return node.kind === ts.SyntaxKind.CallSignature;
88 }
89 exports.isCallSignatureDeclaration = isCallSignatureDeclaration;
90 function isCaseBlock(node) {
91     return node.kind === ts.SyntaxKind.CaseBlock;
92 }
93 exports.isCaseBlock = isCaseBlock;
94 function isCaseClause(node) {
95     return node.kind === ts.SyntaxKind.CaseClause;
96 }
97 exports.isCaseClause = isCaseClause;
98 function isCaseOrDefaultClause(node) {
99     return node.kind === ts.SyntaxKind.CaseClause ||
100         node.kind === ts.SyntaxKind.DefaultClause;
101 }
102 exports.isCaseOrDefaultClause = isCaseOrDefaultClause;
103 function isCatchClause(node) {
104     return node.kind === ts.SyntaxKind.CatchClause;
105 }
106 exports.isCatchClause = isCatchClause;
107 function isClassDeclaration(node) {
108     return node.kind === ts.SyntaxKind.ClassDeclaration;
109 }
110 exports.isClassDeclaration = isClassDeclaration;
111 function isClassExpression(node) {
112     return node.kind === ts.SyntaxKind.ClassExpression;
113 }
114 exports.isClassExpression = isClassExpression;
115 function isClassLikeDeclaration(node) {
116     return node.kind === ts.SyntaxKind.ClassDeclaration ||
117         node.kind === ts.SyntaxKind.ClassExpression;
118 }
119 exports.isClassLikeDeclaration = isClassLikeDeclaration;
120 function isCommaListExpression(node) {
121     return node.kind === ts.SyntaxKind.CommaListExpression;
122 }
123 exports.isCommaListExpression = isCommaListExpression;
124 function isConditionalExpression(node) {
125     return node.kind === ts.SyntaxKind.ConditionalExpression;
126 }
127 exports.isConditionalExpression = isConditionalExpression;
128 function isConditionalTypeNode(node) {
129     return node.kind === ts.SyntaxKind.ConditionalType;
130 }
131 exports.isConditionalTypeNode = isConditionalTypeNode;
132 function isConstructorDeclaration(node) {
133     return node.kind === ts.SyntaxKind.Constructor;
134 }
135 exports.isConstructorDeclaration = isConstructorDeclaration;
136 function isConstructorTypeNode(node) {
137     return node.kind === ts.SyntaxKind.ConstructorType;
138 }
139 exports.isConstructorTypeNode = isConstructorTypeNode;
140 function isConstructSignatureDeclaration(node) {
141     return node.kind === ts.SyntaxKind.ConstructSignature;
142 }
143 exports.isConstructSignatureDeclaration = isConstructSignatureDeclaration;
144 function isContinueStatement(node) {
145     return node.kind === ts.SyntaxKind.ContinueStatement;
146 }
147 exports.isContinueStatement = isContinueStatement;
148 function isComputedPropertyName(node) {
149     return node.kind === ts.SyntaxKind.ComputedPropertyName;
150 }
151 exports.isComputedPropertyName = isComputedPropertyName;
152 function isDebuggerStatement(node) {
153     return node.kind === ts.SyntaxKind.DebuggerStatement;
154 }
155 exports.isDebuggerStatement = isDebuggerStatement;
156 function isDecorator(node) {
157     return node.kind === ts.SyntaxKind.Decorator;
158 }
159 exports.isDecorator = isDecorator;
160 function isDefaultClause(node) {
161     return node.kind === ts.SyntaxKind.DefaultClause;
162 }
163 exports.isDefaultClause = isDefaultClause;
164 function isDeleteExpression(node) {
165     return node.kind === ts.SyntaxKind.DeleteExpression;
166 }
167 exports.isDeleteExpression = isDeleteExpression;
168 function isDoStatement(node) {
169     return node.kind === ts.SyntaxKind.DoStatement;
170 }
171 exports.isDoStatement = isDoStatement;
172 function isElementAccessExpression(node) {
173     return node.kind === ts.SyntaxKind.ElementAccessExpression;
174 }
175 exports.isElementAccessExpression = isElementAccessExpression;
176 function isEmptyStatement(node) {
177     return node.kind === ts.SyntaxKind.EmptyStatement;
178 }
179 exports.isEmptyStatement = isEmptyStatement;
180 function isEntityName(node) {
181     return node.kind === ts.SyntaxKind.Identifier || isQualifiedName(node);
182 }
183 exports.isEntityName = isEntityName;
184 function isEntityNameExpression(node) {
185     return node.kind === ts.SyntaxKind.Identifier ||
186         isPropertyAccessExpression(node) && isEntityNameExpression(node.expression);
187 }
188 exports.isEntityNameExpression = isEntityNameExpression;
189 function isEnumDeclaration(node) {
190     return node.kind === ts.SyntaxKind.EnumDeclaration;
191 }
192 exports.isEnumDeclaration = isEnumDeclaration;
193 function isEnumMember(node) {
194     return node.kind === ts.SyntaxKind.EnumMember;
195 }
196 exports.isEnumMember = isEnumMember;
197 function isExportAssignment(node) {
198     return node.kind === ts.SyntaxKind.ExportAssignment;
199 }
200 exports.isExportAssignment = isExportAssignment;
201 function isExportDeclaration(node) {
202     return node.kind === ts.SyntaxKind.ExportDeclaration;
203 }
204 exports.isExportDeclaration = isExportDeclaration;
205 function isExportSpecifier(node) {
206     return node.kind === ts.SyntaxKind.ExportSpecifier;
207 }
208 exports.isExportSpecifier = isExportSpecifier;
209 function isExpression(node) {
210     switch (node.kind) {
211         case ts.SyntaxKind.ArrayLiteralExpression:
212         case ts.SyntaxKind.ArrowFunction:
213         case ts.SyntaxKind.AsExpression:
214         case ts.SyntaxKind.AwaitExpression:
215         case ts.SyntaxKind.BinaryExpression:
216         case ts.SyntaxKind.CallExpression:
217         case ts.SyntaxKind.ClassExpression:
218         case ts.SyntaxKind.CommaListExpression:
219         case ts.SyntaxKind.ConditionalExpression:
220         case ts.SyntaxKind.DeleteExpression:
221         case ts.SyntaxKind.ElementAccessExpression:
222         case ts.SyntaxKind.FalseKeyword:
223         case ts.SyntaxKind.FunctionExpression:
224         case ts.SyntaxKind.Identifier:
225         case ts.SyntaxKind.JsxElement:
226         case ts.SyntaxKind.JsxFragment:
227         case ts.SyntaxKind.JsxExpression:
228         case ts.SyntaxKind.JsxOpeningElement:
229         case ts.SyntaxKind.JsxOpeningFragment:
230         case ts.SyntaxKind.JsxSelfClosingElement:
231         case ts.SyntaxKind.MetaProperty:
232         case ts.SyntaxKind.NewExpression:
233         case ts.SyntaxKind.NonNullExpression:
234         case ts.SyntaxKind.NoSubstitutionTemplateLiteral:
235         case ts.SyntaxKind.NullKeyword:
236         case ts.SyntaxKind.NumericLiteral:
237         case ts.SyntaxKind.ObjectLiteralExpression:
238         case ts.SyntaxKind.OmittedExpression:
239         case ts.SyntaxKind.ParenthesizedExpression:
240         case ts.SyntaxKind.PostfixUnaryExpression:
241         case ts.SyntaxKind.PrefixUnaryExpression:
242         case ts.SyntaxKind.PropertyAccessExpression:
243         case ts.SyntaxKind.RegularExpressionLiteral:
244         case ts.SyntaxKind.SpreadElement:
245         case ts.SyntaxKind.StringLiteral:
246         case ts.SyntaxKind.SuperKeyword:
247         case ts.SyntaxKind.TaggedTemplateExpression:
248         case ts.SyntaxKind.TemplateExpression:
249         case ts.SyntaxKind.ThisKeyword:
250         case ts.SyntaxKind.TrueKeyword:
251         case ts.SyntaxKind.TypeAssertionExpression:
252         case ts.SyntaxKind.TypeOfExpression:
253         case ts.SyntaxKind.VoidExpression:
254         case ts.SyntaxKind.YieldExpression:
255             return true;
256         default:
257             return false;
258     }
259 }
260 exports.isExpression = isExpression;
261 function isExpressionStatement(node) {
262     return node.kind === ts.SyntaxKind.ExpressionStatement;
263 }
264 exports.isExpressionStatement = isExpressionStatement;
265 function isExpressionWithTypeArguments(node) {
266     return node.kind === ts.SyntaxKind.ExpressionWithTypeArguments;
267 }
268 exports.isExpressionWithTypeArguments = isExpressionWithTypeArguments;
269 function isExternalModuleReference(node) {
270     return node.kind === ts.SyntaxKind.ExternalModuleReference;
271 }
272 exports.isExternalModuleReference = isExternalModuleReference;
273 function isForInStatement(node) {
274     return node.kind === ts.SyntaxKind.ForInStatement;
275 }
276 exports.isForInStatement = isForInStatement;
277 function isForInOrOfStatement(node) {
278     return node.kind === ts.SyntaxKind.ForOfStatement || node.kind === ts.SyntaxKind.ForInStatement;
279 }
280 exports.isForInOrOfStatement = isForInOrOfStatement;
281 function isForOfStatement(node) {
282     return node.kind === ts.SyntaxKind.ForOfStatement;
283 }
284 exports.isForOfStatement = isForOfStatement;
285 function isForStatement(node) {
286     return node.kind === ts.SyntaxKind.ForStatement;
287 }
288 exports.isForStatement = isForStatement;
289 function isFunctionDeclaration(node) {
290     return node.kind === ts.SyntaxKind.FunctionDeclaration;
291 }
292 exports.isFunctionDeclaration = isFunctionDeclaration;
293 function isFunctionExpression(node) {
294     return node.kind === ts.SyntaxKind.FunctionExpression;
295 }
296 exports.isFunctionExpression = isFunctionExpression;
297 function isFunctionTypeNode(node) {
298     return node.kind === ts.SyntaxKind.FunctionType;
299 }
300 exports.isFunctionTypeNode = isFunctionTypeNode;
301 function isGetAccessorDeclaration(node) {
302     return node.kind === ts.SyntaxKind.GetAccessor;
303 }
304 exports.isGetAccessorDeclaration = isGetAccessorDeclaration;
305 function isIdentifier(node) {
306     return node.kind === ts.SyntaxKind.Identifier;
307 }
308 exports.isIdentifier = isIdentifier;
309 function isIfStatement(node) {
310     return node.kind === ts.SyntaxKind.IfStatement;
311 }
312 exports.isIfStatement = isIfStatement;
313 function isImportClause(node) {
314     return node.kind === ts.SyntaxKind.ImportClause;
315 }
316 exports.isImportClause = isImportClause;
317 function isImportDeclaration(node) {
318     return node.kind === ts.SyntaxKind.ImportDeclaration;
319 }
320 exports.isImportDeclaration = isImportDeclaration;
321 function isImportEqualsDeclaration(node) {
322     return node.kind === ts.SyntaxKind.ImportEqualsDeclaration;
323 }
324 exports.isImportEqualsDeclaration = isImportEqualsDeclaration;
325 function isImportSpecifier(node) {
326     return node.kind === ts.SyntaxKind.ImportSpecifier;
327 }
328 exports.isImportSpecifier = isImportSpecifier;
329 function isIndexedAccessTypeNode(node) {
330     return node.kind === ts.SyntaxKind.IndexedAccessType;
331 }
332 exports.isIndexedAccessTypeNode = isIndexedAccessTypeNode;
333 function isIndexSignatureDeclaration(node) {
334     return node.kind === ts.SyntaxKind.IndexSignature;
335 }
336 exports.isIndexSignatureDeclaration = isIndexSignatureDeclaration;
337 function isInferTypeNode(node) {
338     return node.kind === ts.SyntaxKind.InferType;
339 }
340 exports.isInferTypeNode = isInferTypeNode;
341 function isInterfaceDeclaration(node) {
342     return node.kind === ts.SyntaxKind.InterfaceDeclaration;
343 }
344 exports.isInterfaceDeclaration = isInterfaceDeclaration;
345 function isIntersectionTypeNode(node) {
346     return node.kind === ts.SyntaxKind.IntersectionType;
347 }
348 exports.isIntersectionTypeNode = isIntersectionTypeNode;
349 function isIterationStatement(node) {
350     switch (node.kind) {
351         case ts.SyntaxKind.ForStatement:
352         case ts.SyntaxKind.ForOfStatement:
353         case ts.SyntaxKind.ForInStatement:
354         case ts.SyntaxKind.WhileStatement:
355         case ts.SyntaxKind.DoStatement:
356             return true;
357         default:
358             return false;
359     }
360 }
361 exports.isIterationStatement = isIterationStatement;
362 function isJsDoc(node) {
363     return node.kind === ts.SyntaxKind.JSDocComment;
364 }
365 exports.isJsDoc = isJsDoc;
366 function isJsxAttribute(node) {
367     return node.kind === ts.SyntaxKind.JsxAttribute;
368 }
369 exports.isJsxAttribute = isJsxAttribute;
370 function isJsxAttributeLike(node) {
371     return node.kind === ts.SyntaxKind.JsxAttribute ||
372         node.kind === ts.SyntaxKind.JsxSpreadAttribute;
373 }
374 exports.isJsxAttributeLike = isJsxAttributeLike;
375 function isJsxAttributes(node) {
376     return node.kind === ts.SyntaxKind.JsxAttributes;
377 }
378 exports.isJsxAttributes = isJsxAttributes;
379 function isJsxClosingElement(node) {
380     return node.kind === ts.SyntaxKind.JsxClosingElement;
381 }
382 exports.isJsxClosingElement = isJsxClosingElement;
383 function isJsxClosingFragment(node) {
384     return node.kind === ts.SyntaxKind.JsxClosingFragment;
385 }
386 exports.isJsxClosingFragment = isJsxClosingFragment;
387 function isJsxElement(node) {
388     return node.kind === ts.SyntaxKind.JsxElement;
389 }
390 exports.isJsxElement = isJsxElement;
391 function isJsxExpression(node) {
392     return node.kind === ts.SyntaxKind.JsxExpression;
393 }
394 exports.isJsxExpression = isJsxExpression;
395 function isJsxFramgment(node) {
396     return isJsxFragment(node);
397 }
398 exports.isJsxFramgment = isJsxFramgment;
399 function isJsxFragment(node) {
400     return node.kind === ts.SyntaxKind.JsxFragment;
401 }
402 exports.isJsxFragment = isJsxFragment;
403 function isJsxOpeningElement(node) {
404     return node.kind === ts.SyntaxKind.JsxOpeningElement;
405 }
406 exports.isJsxOpeningElement = isJsxOpeningElement;
407 function isJsxOpeningFragment(node) {
408     return node.kind === ts.SyntaxKind.JsxOpeningFragment;
409 }
410 exports.isJsxOpeningFragment = isJsxOpeningFragment;
411 function isJsxOpeningLikeElement(node) {
412     return node.kind === ts.SyntaxKind.JsxOpeningElement ||
413         node.kind === ts.SyntaxKind.JsxSelfClosingElement;
414 }
415 exports.isJsxOpeningLikeElement = isJsxOpeningLikeElement;
416 function isJsxSelfClosingElement(node) {
417     return node.kind === ts.SyntaxKind.JsxSelfClosingElement;
418 }
419 exports.isJsxSelfClosingElement = isJsxSelfClosingElement;
420 function isJsxSpreadAttribute(node) {
421     return node.kind === ts.SyntaxKind.JsxSpreadAttribute;
422 }
423 exports.isJsxSpreadAttribute = isJsxSpreadAttribute;
424 function isJsxText(node) {
425     return node.kind === ts.SyntaxKind.JsxText;
426 }
427 exports.isJsxText = isJsxText;
428 function isLabeledStatement(node) {
429     return node.kind === ts.SyntaxKind.LabeledStatement;
430 }
431 exports.isLabeledStatement = isLabeledStatement;
432 function isLiteralExpression(node) {
433     return node.kind >= ts.SyntaxKind.FirstLiteralToken &&
434         node.kind <= ts.SyntaxKind.LastLiteralToken;
435 }
436 exports.isLiteralExpression = isLiteralExpression;
437 function isLiteralTypeNode(node) {
438     return node.kind === ts.SyntaxKind.LiteralType;
439 }
440 exports.isLiteralTypeNode = isLiteralTypeNode;
441 function isMappedTypeNode(node) {
442     return node.kind === ts.SyntaxKind.MappedType;
443 }
444 exports.isMappedTypeNode = isMappedTypeNode;
445 function isMetaProperty(node) {
446     return node.kind === ts.SyntaxKind.MetaProperty;
447 }
448 exports.isMetaProperty = isMetaProperty;
449 function isMethodDeclaration(node) {
450     return node.kind === ts.SyntaxKind.MethodDeclaration;
451 }
452 exports.isMethodDeclaration = isMethodDeclaration;
453 function isMethodSignature(node) {
454     return node.kind === ts.SyntaxKind.MethodSignature;
455 }
456 exports.isMethodSignature = isMethodSignature;
457 function isModuleBlock(node) {
458     return node.kind === ts.SyntaxKind.ModuleBlock;
459 }
460 exports.isModuleBlock = isModuleBlock;
461 function isModuleDeclaration(node) {
462     return node.kind === ts.SyntaxKind.ModuleDeclaration;
463 }
464 exports.isModuleDeclaration = isModuleDeclaration;
465 function isNamedExports(node) {
466     return node.kind === ts.SyntaxKind.NamedExports;
467 }
468 exports.isNamedExports = isNamedExports;
469 function isNamedImports(node) {
470     return node.kind === ts.SyntaxKind.NamedImports;
471 }
472 exports.isNamedImports = isNamedImports;
473 function isNamespaceDeclaration(node) {
474     return isModuleDeclaration(node) &&
475         node.name.kind === ts.SyntaxKind.Identifier &&
476         node.body !== undefined &&
477         (node.body.kind === ts.SyntaxKind.ModuleBlock ||
478             isNamespaceDeclaration(node.body));
479 }
480 exports.isNamespaceDeclaration = isNamespaceDeclaration;
481 function isNamespaceImport(node) {
482     return node.kind === ts.SyntaxKind.NamespaceImport;
483 }
484 exports.isNamespaceImport = isNamespaceImport;
485 function isNamespaceExportDeclaration(node) {
486     return node.kind === ts.SyntaxKind.NamespaceExportDeclaration;
487 }
488 exports.isNamespaceExportDeclaration = isNamespaceExportDeclaration;
489 function isNewExpression(node) {
490     return node.kind === ts.SyntaxKind.NewExpression;
491 }
492 exports.isNewExpression = isNewExpression;
493 function isNonNullExpression(node) {
494     return node.kind === ts.SyntaxKind.NonNullExpression;
495 }
496 exports.isNonNullExpression = isNonNullExpression;
497 function isNoSubstitutionTemplateLiteral(node) {
498     return node.kind === ts.SyntaxKind.NoSubstitutionTemplateLiteral;
499 }
500 exports.isNoSubstitutionTemplateLiteral = isNoSubstitutionTemplateLiteral;
501 function isNumericLiteral(node) {
502     return node.kind === ts.SyntaxKind.NumericLiteral;
503 }
504 exports.isNumericLiteral = isNumericLiteral;
505 function isObjectBindingPattern(node) {
506     return node.kind === ts.SyntaxKind.ObjectBindingPattern;
507 }
508 exports.isObjectBindingPattern = isObjectBindingPattern;
509 function isObjectLiteralExpression(node) {
510     return node.kind === ts.SyntaxKind.ObjectLiteralExpression;
511 }
512 exports.isObjectLiteralExpression = isObjectLiteralExpression;
513 function isOmittedExpression(node) {
514     return node.kind === ts.SyntaxKind.OmittedExpression;
515 }
516 exports.isOmittedExpression = isOmittedExpression;
517 function isParameterDeclaration(node) {
518     return node.kind === ts.SyntaxKind.Parameter;
519 }
520 exports.isParameterDeclaration = isParameterDeclaration;
521 function isParenthesizedExpression(node) {
522     return node.kind === ts.SyntaxKind.ParenthesizedExpression;
523 }
524 exports.isParenthesizedExpression = isParenthesizedExpression;
525 function isParenthesizedTypeNode(node) {
526     return node.kind === ts.SyntaxKind.ParenthesizedType;
527 }
528 exports.isParenthesizedTypeNode = isParenthesizedTypeNode;
529 function isPostfixUnaryExpression(node) {
530     return node.kind === ts.SyntaxKind.PostfixUnaryExpression;
531 }
532 exports.isPostfixUnaryExpression = isPostfixUnaryExpression;
533 function isPrefixUnaryExpression(node) {
534     return node.kind === ts.SyntaxKind.PrefixUnaryExpression;
535 }
536 exports.isPrefixUnaryExpression = isPrefixUnaryExpression;
537 function isPropertyAccessExpression(node) {
538     return node.kind === ts.SyntaxKind.PropertyAccessExpression;
539 }
540 exports.isPropertyAccessExpression = isPropertyAccessExpression;
541 function isPropertyAssignment(node) {
542     return node.kind === ts.SyntaxKind.PropertyAssignment;
543 }
544 exports.isPropertyAssignment = isPropertyAssignment;
545 function isPropertyDeclaration(node) {
546     return node.kind === ts.SyntaxKind.PropertyDeclaration;
547 }
548 exports.isPropertyDeclaration = isPropertyDeclaration;
549 function isPropertySignature(node) {
550     return node.kind === ts.SyntaxKind.PropertySignature;
551 }
552 exports.isPropertySignature = isPropertySignature;
553 function isQualifiedName(node) {
554     return node.kind === ts.SyntaxKind.QualifiedName;
555 }
556 exports.isQualifiedName = isQualifiedName;
557 function isRegularExpressionLiteral(node) {
558     return node.kind === ts.SyntaxKind.RegularExpressionLiteral;
559 }
560 exports.isRegularExpressionLiteral = isRegularExpressionLiteral;
561 function isReturnStatement(node) {
562     return node.kind === ts.SyntaxKind.ReturnStatement;
563 }
564 exports.isReturnStatement = isReturnStatement;
565 function isSetAccessorDeclaration(node) {
566     return node.kind === ts.SyntaxKind.SetAccessor;
567 }
568 exports.isSetAccessorDeclaration = isSetAccessorDeclaration;
569 function isShorthandPropertyAssignment(node) {
570     return node.kind === ts.SyntaxKind.ShorthandPropertyAssignment;
571 }
572 exports.isShorthandPropertyAssignment = isShorthandPropertyAssignment;
573 function isSignatureDeclaration(node) {
574     return node.parameters !== undefined;
575 }
576 exports.isSignatureDeclaration = isSignatureDeclaration;
577 function isSourceFile(node) {
578     return node.kind === ts.SyntaxKind.SourceFile;
579 }
580 exports.isSourceFile = isSourceFile;
581 function isSpreadAssignment(node) {
582     return node.kind === ts.SyntaxKind.SpreadAssignment;
583 }
584 exports.isSpreadAssignment = isSpreadAssignment;
585 function isSpreadElement(node) {
586     return node.kind === ts.SyntaxKind.SpreadElement;
587 }
588 exports.isSpreadElement = isSpreadElement;
589 function isStringLiteral(node) {
590     return node.kind === ts.SyntaxKind.StringLiteral;
591 }
592 exports.isStringLiteral = isStringLiteral;
593 function isSwitchStatement(node) {
594     return node.kind === ts.SyntaxKind.SwitchStatement;
595 }
596 exports.isSwitchStatement = isSwitchStatement;
597 function isSyntaxList(node) {
598     return node.kind === ts.SyntaxKind.SyntaxList;
599 }
600 exports.isSyntaxList = isSyntaxList;
601 function isTaggedTemplateExpression(node) {
602     return node.kind === ts.SyntaxKind.TaggedTemplateExpression;
603 }
604 exports.isTaggedTemplateExpression = isTaggedTemplateExpression;
605 function isTemplateExpression(node) {
606     return node.kind === ts.SyntaxKind.TemplateExpression;
607 }
608 exports.isTemplateExpression = isTemplateExpression;
609 function isTemplateLiteral(node) {
610     return node.kind === ts.SyntaxKind.TemplateExpression ||
611         node.kind === ts.SyntaxKind.NoSubstitutionTemplateLiteral;
612 }
613 exports.isTemplateLiteral = isTemplateLiteral;
614 function isTextualLiteral(node) {
615     return node.kind === ts.SyntaxKind.StringLiteral ||
616         node.kind === ts.SyntaxKind.NoSubstitutionTemplateLiteral;
617 }
618 exports.isTextualLiteral = isTextualLiteral;
619 function isThrowStatement(node) {
620     return node.kind === ts.SyntaxKind.ThrowStatement;
621 }
622 exports.isThrowStatement = isThrowStatement;
623 function isTryStatement(node) {
624     return node.kind === ts.SyntaxKind.TryStatement;
625 }
626 exports.isTryStatement = isTryStatement;
627 function isTupleTypeNode(node) {
628     return node.kind === ts.SyntaxKind.TupleType;
629 }
630 exports.isTupleTypeNode = isTupleTypeNode;
631 function isTypeAliasDeclaration(node) {
632     return node.kind === ts.SyntaxKind.TypeAliasDeclaration;
633 }
634 exports.isTypeAliasDeclaration = isTypeAliasDeclaration;
635 function isTypeAssertion(node) {
636     return node.kind === ts.SyntaxKind.TypeAssertionExpression;
637 }
638 exports.isTypeAssertion = isTypeAssertion;
639 function isTypeLiteralNode(node) {
640     return node.kind === ts.SyntaxKind.TypeLiteral;
641 }
642 exports.isTypeLiteralNode = isTypeLiteralNode;
643 function isTypeOfExpression(node) {
644     return node.kind === ts.SyntaxKind.TypeOfExpression;
645 }
646 exports.isTypeOfExpression = isTypeOfExpression;
647 function isTypeOperatorNode(node) {
648     return node.kind === ts.SyntaxKind.TypeOperator;
649 }
650 exports.isTypeOperatorNode = isTypeOperatorNode;
651 function isTypeParameterDeclaration(node) {
652     return node.kind === ts.SyntaxKind.TypeParameter;
653 }
654 exports.isTypeParameterDeclaration = isTypeParameterDeclaration;
655 function isTypePredicateNode(node) {
656     return node.kind === ts.SyntaxKind.TypePredicate;
657 }
658 exports.isTypePredicateNode = isTypePredicateNode;
659 function isTypeReferenceNode(node) {
660     return node.kind === ts.SyntaxKind.TypeReference;
661 }
662 exports.isTypeReferenceNode = isTypeReferenceNode;
663 function isTypeQueryNode(node) {
664     return node.kind === ts.SyntaxKind.TypeQuery;
665 }
666 exports.isTypeQueryNode = isTypeQueryNode;
667 function isUnionTypeNode(node) {
668     return node.kind === ts.SyntaxKind.UnionType;
669 }
670 exports.isUnionTypeNode = isUnionTypeNode;
671 function isVariableDeclaration(node) {
672     return node.kind === ts.SyntaxKind.VariableDeclaration;
673 }
674 exports.isVariableDeclaration = isVariableDeclaration;
675 function isVariableStatement(node) {
676     return node.kind === ts.SyntaxKind.VariableStatement;
677 }
678 exports.isVariableStatement = isVariableStatement;
679 function isVariableDeclarationList(node) {
680     return node.kind === ts.SyntaxKind.VariableDeclarationList;
681 }
682 exports.isVariableDeclarationList = isVariableDeclarationList;
683 function isVoidExpression(node) {
684     return node.kind === ts.SyntaxKind.VoidExpression;
685 }
686 exports.isVoidExpression = isVoidExpression;
687 function isWhileStatement(node) {
688     return node.kind === ts.SyntaxKind.WhileStatement;
689 }
690 exports.isWhileStatement = isWhileStatement;
691 function isWithStatement(node) {
692     return node.kind === ts.SyntaxKind.WithStatement;
693 }
694 exports.isWithStatement = isWithStatement;
695 //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIm5vZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwrQkFBaUM7QUFFakMsU0FBZ0IscUJBQXFCLENBQUMsSUFBYTtJQUMvQyxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDLFVBQVUsQ0FBQyxXQUFXO1FBQzFDLElBQUksQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUM7QUFDaEQsQ0FBQztBQUhELHNEQUdDO0FBRUQsU0FBZ0IscUJBQXFCLENBQUMsSUFBYTtJQUMvQyxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQztBQUMzRCxDQUFDO0FBRkQsc0RBRUM7QUFFRCxTQUFnQix3QkFBd0IsQ0FBQyxJQUFhO0lBQ2xELE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxFQUFFLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDO0FBQzlELENBQUM7QUFGRCw0REFFQztBQUVELFNBQWdCLGVBQWUsQ0FBQyxJQUFhO0lBQ3pDLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQztBQUNqRCxDQUFDO0FBRkQsMENBRUM7QUFFRCxTQUFnQixlQUFlLENBQUMsSUFBYTtJQUN6QyxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7QUFDckQsQ0FBQztBQUZELDBDQUVDO0FBRUQsU0FBZ0IsY0FBYyxDQUFDLElBQWE7SUFDeEMsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDO0FBQ3BELENBQUM7QUFGRCx3Q0FFQztBQUVELFNBQWdCLHFCQUFxQixDQUFDLElBQWE7SUFDL0MsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQyxVQUFVLENBQUMs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