How to use node method in wpt

Best JavaScript code snippet using wpt

index.js

Source:index.js Github

copy

Full Screen

1"use strict";2Object.defineProperty(exports, "__esModule", {3 value: true4});5exports.isArrayExpression = isArrayExpression;6exports.isAssignmentExpression = isAssignmentExpression;7exports.isBinaryExpression = isBinaryExpression;8exports.isInterpreterDirective = isInterpreterDirective;9exports.isDirective = isDirective;10exports.isDirectiveLiteral = isDirectiveLiteral;11exports.isBlockStatement = isBlockStatement;12exports.isBreakStatement = isBreakStatement;13exports.isCallExpression = isCallExpression;14exports.isCatchClause = isCatchClause;15exports.isConditionalExpression = isConditionalExpression;16exports.isContinueStatement = isContinueStatement;17exports.isDebuggerStatement = isDebuggerStatement;18exports.isDoWhileStatement = isDoWhileStatement;19exports.isEmptyStatement = isEmptyStatement;20exports.isExpressionStatement = isExpressionStatement;21exports.isFile = isFile;22exports.isForInStatement = isForInStatement;23exports.isForStatement = isForStatement;24exports.isFunctionDeclaration = isFunctionDeclaration;25exports.isFunctionExpression = isFunctionExpression;26exports.isIdentifier = isIdentifier;27exports.isIfStatement = isIfStatement;28exports.isLabeledStatement = isLabeledStatement;29exports.isStringLiteral = isStringLiteral;30exports.isNumericLiteral = isNumericLiteral;31exports.isNullLiteral = isNullLiteral;32exports.isBooleanLiteral = isBooleanLiteral;33exports.isRegExpLiteral = isRegExpLiteral;34exports.isLogicalExpression = isLogicalExpression;35exports.isMemberExpression = isMemberExpression;36exports.isNewExpression = isNewExpression;37exports.isProgram = isProgram;38exports.isObjectExpression = isObjectExpression;39exports.isObjectMethod = isObjectMethod;40exports.isObjectProperty = isObjectProperty;41exports.isRestElement = isRestElement;42exports.isReturnStatement = isReturnStatement;43exports.isSequenceExpression = isSequenceExpression;44exports.isParenthesizedExpression = isParenthesizedExpression;45exports.isSwitchCase = isSwitchCase;46exports.isSwitchStatement = isSwitchStatement;47exports.isThisExpression = isThisExpression;48exports.isThrowStatement = isThrowStatement;49exports.isTryStatement = isTryStatement;50exports.isUnaryExpression = isUnaryExpression;51exports.isUpdateExpression = isUpdateExpression;52exports.isVariableDeclaration = isVariableDeclaration;53exports.isVariableDeclarator = isVariableDeclarator;54exports.isWhileStatement = isWhileStatement;55exports.isWithStatement = isWithStatement;56exports.isAssignmentPattern = isAssignmentPattern;57exports.isArrayPattern = isArrayPattern;58exports.isArrowFunctionExpression = isArrowFunctionExpression;59exports.isClassBody = isClassBody;60exports.isClassExpression = isClassExpression;61exports.isClassDeclaration = isClassDeclaration;62exports.isExportAllDeclaration = isExportAllDeclaration;63exports.isExportDefaultDeclaration = isExportDefaultDeclaration;64exports.isExportNamedDeclaration = isExportNamedDeclaration;65exports.isExportSpecifier = isExportSpecifier;66exports.isForOfStatement = isForOfStatement;67exports.isImportDeclaration = isImportDeclaration;68exports.isImportDefaultSpecifier = isImportDefaultSpecifier;69exports.isImportNamespaceSpecifier = isImportNamespaceSpecifier;70exports.isImportSpecifier = isImportSpecifier;71exports.isMetaProperty = isMetaProperty;72exports.isClassMethod = isClassMethod;73exports.isObjectPattern = isObjectPattern;74exports.isSpreadElement = isSpreadElement;75exports.isSuper = isSuper;76exports.isTaggedTemplateExpression = isTaggedTemplateExpression;77exports.isTemplateElement = isTemplateElement;78exports.isTemplateLiteral = isTemplateLiteral;79exports.isYieldExpression = isYieldExpression;80exports.isAwaitExpression = isAwaitExpression;81exports.isImport = isImport;82exports.isBigIntLiteral = isBigIntLiteral;83exports.isExportNamespaceSpecifier = isExportNamespaceSpecifier;84exports.isOptionalMemberExpression = isOptionalMemberExpression;85exports.isOptionalCallExpression = isOptionalCallExpression;86exports.isClassProperty = isClassProperty;87exports.isClassPrivateProperty = isClassPrivateProperty;88exports.isClassPrivateMethod = isClassPrivateMethod;89exports.isPrivateName = isPrivateName;90exports.isAnyTypeAnnotation = isAnyTypeAnnotation;91exports.isArrayTypeAnnotation = isArrayTypeAnnotation;92exports.isBooleanTypeAnnotation = isBooleanTypeAnnotation;93exports.isBooleanLiteralTypeAnnotation = isBooleanLiteralTypeAnnotation;94exports.isNullLiteralTypeAnnotation = isNullLiteralTypeAnnotation;95exports.isClassImplements = isClassImplements;96exports.isDeclareClass = isDeclareClass;97exports.isDeclareFunction = isDeclareFunction;98exports.isDeclareInterface = isDeclareInterface;99exports.isDeclareModule = isDeclareModule;100exports.isDeclareModuleExports = isDeclareModuleExports;101exports.isDeclareTypeAlias = isDeclareTypeAlias;102exports.isDeclareOpaqueType = isDeclareOpaqueType;103exports.isDeclareVariable = isDeclareVariable;104exports.isDeclareExportDeclaration = isDeclareExportDeclaration;105exports.isDeclareExportAllDeclaration = isDeclareExportAllDeclaration;106exports.isDeclaredPredicate = isDeclaredPredicate;107exports.isExistsTypeAnnotation = isExistsTypeAnnotation;108exports.isFunctionTypeAnnotation = isFunctionTypeAnnotation;109exports.isFunctionTypeParam = isFunctionTypeParam;110exports.isGenericTypeAnnotation = isGenericTypeAnnotation;111exports.isInferredPredicate = isInferredPredicate;112exports.isInterfaceExtends = isInterfaceExtends;113exports.isInterfaceDeclaration = isInterfaceDeclaration;114exports.isInterfaceTypeAnnotation = isInterfaceTypeAnnotation;115exports.isIntersectionTypeAnnotation = isIntersectionTypeAnnotation;116exports.isMixedTypeAnnotation = isMixedTypeAnnotation;117exports.isEmptyTypeAnnotation = isEmptyTypeAnnotation;118exports.isNullableTypeAnnotation = isNullableTypeAnnotation;119exports.isNumberLiteralTypeAnnotation = isNumberLiteralTypeAnnotation;120exports.isNumberTypeAnnotation = isNumberTypeAnnotation;121exports.isObjectTypeAnnotation = isObjectTypeAnnotation;122exports.isObjectTypeInternalSlot = isObjectTypeInternalSlot;123exports.isObjectTypeCallProperty = isObjectTypeCallProperty;124exports.isObjectTypeIndexer = isObjectTypeIndexer;125exports.isObjectTypeProperty = isObjectTypeProperty;126exports.isObjectTypeSpreadProperty = isObjectTypeSpreadProperty;127exports.isOpaqueType = isOpaqueType;128exports.isQualifiedTypeIdentifier = isQualifiedTypeIdentifier;129exports.isStringLiteralTypeAnnotation = isStringLiteralTypeAnnotation;130exports.isStringTypeAnnotation = isStringTypeAnnotation;131exports.isSymbolTypeAnnotation = isSymbolTypeAnnotation;132exports.isThisTypeAnnotation = isThisTypeAnnotation;133exports.isTupleTypeAnnotation = isTupleTypeAnnotation;134exports.isTypeofTypeAnnotation = isTypeofTypeAnnotation;135exports.isTypeAlias = isTypeAlias;136exports.isTypeAnnotation = isTypeAnnotation;137exports.isTypeCastExpression = isTypeCastExpression;138exports.isTypeParameter = isTypeParameter;139exports.isTypeParameterDeclaration = isTypeParameterDeclaration;140exports.isTypeParameterInstantiation = isTypeParameterInstantiation;141exports.isUnionTypeAnnotation = isUnionTypeAnnotation;142exports.isVariance = isVariance;143exports.isVoidTypeAnnotation = isVoidTypeAnnotation;144exports.isEnumDeclaration = isEnumDeclaration;145exports.isEnumBooleanBody = isEnumBooleanBody;146exports.isEnumNumberBody = isEnumNumberBody;147exports.isEnumStringBody = isEnumStringBody;148exports.isEnumSymbolBody = isEnumSymbolBody;149exports.isEnumBooleanMember = isEnumBooleanMember;150exports.isEnumNumberMember = isEnumNumberMember;151exports.isEnumStringMember = isEnumStringMember;152exports.isEnumDefaultedMember = isEnumDefaultedMember;153exports.isIndexedAccessType = isIndexedAccessType;154exports.isOptionalIndexedAccessType = isOptionalIndexedAccessType;155exports.isJSXAttribute = isJSXAttribute;156exports.isJSXClosingElement = isJSXClosingElement;157exports.isJSXElement = isJSXElement;158exports.isJSXEmptyExpression = isJSXEmptyExpression;159exports.isJSXExpressionContainer = isJSXExpressionContainer;160exports.isJSXSpreadChild = isJSXSpreadChild;161exports.isJSXIdentifier = isJSXIdentifier;162exports.isJSXMemberExpression = isJSXMemberExpression;163exports.isJSXNamespacedName = isJSXNamespacedName;164exports.isJSXOpeningElement = isJSXOpeningElement;165exports.isJSXSpreadAttribute = isJSXSpreadAttribute;166exports.isJSXText = isJSXText;167exports.isJSXFragment = isJSXFragment;168exports.isJSXOpeningFragment = isJSXOpeningFragment;169exports.isJSXClosingFragment = isJSXClosingFragment;170exports.isNoop = isNoop;171exports.isPlaceholder = isPlaceholder;172exports.isV8IntrinsicIdentifier = isV8IntrinsicIdentifier;173exports.isArgumentPlaceholder = isArgumentPlaceholder;174exports.isBindExpression = isBindExpression;175exports.isImportAttribute = isImportAttribute;176exports.isDecorator = isDecorator;177exports.isDoExpression = isDoExpression;178exports.isExportDefaultSpecifier = isExportDefaultSpecifier;179exports.isRecordExpression = isRecordExpression;180exports.isTupleExpression = isTupleExpression;181exports.isDecimalLiteral = isDecimalLiteral;182exports.isStaticBlock = isStaticBlock;183exports.isModuleExpression = isModuleExpression;184exports.isTopicReference = isTopicReference;185exports.isPipelineTopicExpression = isPipelineTopicExpression;186exports.isPipelineBareFunction = isPipelineBareFunction;187exports.isPipelinePrimaryTopicReference = isPipelinePrimaryTopicReference;188exports.isTSParameterProperty = isTSParameterProperty;189exports.isTSDeclareFunction = isTSDeclareFunction;190exports.isTSDeclareMethod = isTSDeclareMethod;191exports.isTSQualifiedName = isTSQualifiedName;192exports.isTSCallSignatureDeclaration = isTSCallSignatureDeclaration;193exports.isTSConstructSignatureDeclaration = isTSConstructSignatureDeclaration;194exports.isTSPropertySignature = isTSPropertySignature;195exports.isTSMethodSignature = isTSMethodSignature;196exports.isTSIndexSignature = isTSIndexSignature;197exports.isTSAnyKeyword = isTSAnyKeyword;198exports.isTSBooleanKeyword = isTSBooleanKeyword;199exports.isTSBigIntKeyword = isTSBigIntKeyword;200exports.isTSIntrinsicKeyword = isTSIntrinsicKeyword;201exports.isTSNeverKeyword = isTSNeverKeyword;202exports.isTSNullKeyword = isTSNullKeyword;203exports.isTSNumberKeyword = isTSNumberKeyword;204exports.isTSObjectKeyword = isTSObjectKeyword;205exports.isTSStringKeyword = isTSStringKeyword;206exports.isTSSymbolKeyword = isTSSymbolKeyword;207exports.isTSUndefinedKeyword = isTSUndefinedKeyword;208exports.isTSUnknownKeyword = isTSUnknownKeyword;209exports.isTSVoidKeyword = isTSVoidKeyword;210exports.isTSThisType = isTSThisType;211exports.isTSFunctionType = isTSFunctionType;212exports.isTSConstructorType = isTSConstructorType;213exports.isTSTypeReference = isTSTypeReference;214exports.isTSTypePredicate = isTSTypePredicate;215exports.isTSTypeQuery = isTSTypeQuery;216exports.isTSTypeLiteral = isTSTypeLiteral;217exports.isTSArrayType = isTSArrayType;218exports.isTSTupleType = isTSTupleType;219exports.isTSOptionalType = isTSOptionalType;220exports.isTSRestType = isTSRestType;221exports.isTSNamedTupleMember = isTSNamedTupleMember;222exports.isTSUnionType = isTSUnionType;223exports.isTSIntersectionType = isTSIntersectionType;224exports.isTSConditionalType = isTSConditionalType;225exports.isTSInferType = isTSInferType;226exports.isTSParenthesizedType = isTSParenthesizedType;227exports.isTSTypeOperator = isTSTypeOperator;228exports.isTSIndexedAccessType = isTSIndexedAccessType;229exports.isTSMappedType = isTSMappedType;230exports.isTSLiteralType = isTSLiteralType;231exports.isTSExpressionWithTypeArguments = isTSExpressionWithTypeArguments;232exports.isTSInterfaceDeclaration = isTSInterfaceDeclaration;233exports.isTSInterfaceBody = isTSInterfaceBody;234exports.isTSTypeAliasDeclaration = isTSTypeAliasDeclaration;235exports.isTSAsExpression = isTSAsExpression;236exports.isTSTypeAssertion = isTSTypeAssertion;237exports.isTSEnumDeclaration = isTSEnumDeclaration;238exports.isTSEnumMember = isTSEnumMember;239exports.isTSModuleDeclaration = isTSModuleDeclaration;240exports.isTSModuleBlock = isTSModuleBlock;241exports.isTSImportType = isTSImportType;242exports.isTSImportEqualsDeclaration = isTSImportEqualsDeclaration;243exports.isTSExternalModuleReference = isTSExternalModuleReference;244exports.isTSNonNullExpression = isTSNonNullExpression;245exports.isTSExportAssignment = isTSExportAssignment;246exports.isTSNamespaceExportDeclaration = isTSNamespaceExportDeclaration;247exports.isTSTypeAnnotation = isTSTypeAnnotation;248exports.isTSTypeParameterInstantiation = isTSTypeParameterInstantiation;249exports.isTSTypeParameterDeclaration = isTSTypeParameterDeclaration;250exports.isTSTypeParameter = isTSTypeParameter;251exports.isExpression = isExpression;252exports.isBinary = isBinary;253exports.isScopable = isScopable;254exports.isBlockParent = isBlockParent;255exports.isBlock = isBlock;256exports.isStatement = isStatement;257exports.isTerminatorless = isTerminatorless;258exports.isCompletionStatement = isCompletionStatement;259exports.isConditional = isConditional;260exports.isLoop = isLoop;261exports.isWhile = isWhile;262exports.isExpressionWrapper = isExpressionWrapper;263exports.isFor = isFor;264exports.isForXStatement = isForXStatement;265exports.isFunction = isFunction;266exports.isFunctionParent = isFunctionParent;267exports.isPureish = isPureish;268exports.isDeclaration = isDeclaration;269exports.isPatternLike = isPatternLike;270exports.isLVal = isLVal;271exports.isTSEntityName = isTSEntityName;272exports.isLiteral = isLiteral;273exports.isImmutable = isImmutable;274exports.isUserWhitespacable = isUserWhitespacable;275exports.isMethod = isMethod;276exports.isObjectMember = isObjectMember;277exports.isProperty = isProperty;278exports.isUnaryLike = isUnaryLike;279exports.isPattern = isPattern;280exports.isClass = isClass;281exports.isModuleDeclaration = isModuleDeclaration;282exports.isExportDeclaration = isExportDeclaration;283exports.isModuleSpecifier = isModuleSpecifier;284exports.isPrivate = isPrivate;285exports.isFlow = isFlow;286exports.isFlowType = isFlowType;287exports.isFlowBaseAnnotation = isFlowBaseAnnotation;288exports.isFlowDeclaration = isFlowDeclaration;289exports.isFlowPredicate = isFlowPredicate;290exports.isEnumBody = isEnumBody;291exports.isEnumMember = isEnumMember;292exports.isJSX = isJSX;293exports.isTSTypeElement = isTSTypeElement;294exports.isTSType = isTSType;295exports.isTSBaseType = isTSBaseType;296exports.isNumberLiteral = isNumberLiteral;297exports.isRegexLiteral = isRegexLiteral;298exports.isRestProperty = isRestProperty;299exports.isSpreadProperty = isSpreadProperty;300var _shallowEqual = require("../../utils/shallowEqual");301function isArrayExpression(node, opts) {302 if (!node) return false;303 const nodeType = node.type;304 if (nodeType === "ArrayExpression") {305 if (typeof opts === "undefined") {306 return true;307 } else {308 return (0, _shallowEqual.default)(node, opts);309 }310 }311 return false;312}313function isAssignmentExpression(node, opts) {314 if (!node) return false;315 const nodeType = node.type;316 if (nodeType === "AssignmentExpression") {317 if (typeof opts === "undefined") {318 return true;319 } else {320 return (0, _shallowEqual.default)(node, opts);321 }322 }323 return false;324}325function isBinaryExpression(node, opts) {326 if (!node) return false;327 const nodeType = node.type;328 if (nodeType === "BinaryExpression") {329 if (typeof opts === "undefined") {330 return true;331 } else {332 return (0, _shallowEqual.default)(node, opts);333 }334 }335 return false;336}337function isInterpreterDirective(node, opts) {338 if (!node) return false;339 const nodeType = node.type;340 if (nodeType === "InterpreterDirective") {341 if (typeof opts === "undefined") {342 return true;343 } else {344 return (0, _shallowEqual.default)(node, opts);345 }346 }347 return false;348}349function isDirective(node, opts) {350 if (!node) return false;351 const nodeType = node.type;352 if (nodeType === "Directive") {353 if (typeof opts === "undefined") {354 return true;355 } else {356 return (0, _shallowEqual.default)(node, opts);357 }358 }359 return false;360}361function isDirectiveLiteral(node, opts) {362 if (!node) return false;363 const nodeType = node.type;364 if (nodeType === "DirectiveLiteral") {365 if (typeof opts === "undefined") {366 return true;367 } else {368 return (0, _shallowEqual.default)(node, opts);369 }370 }371 return false;372}373function isBlockStatement(node, opts) {374 if (!node) return false;375 const nodeType = node.type;376 if (nodeType === "BlockStatement") {377 if (typeof opts === "undefined") {378 return true;379 } else {380 return (0, _shallowEqual.default)(node, opts);381 }382 }383 return false;384}385function isBreakStatement(node, opts) {386 if (!node) return false;387 const nodeType = node.type;388 if (nodeType === "BreakStatement") {389 if (typeof opts === "undefined") {390 return true;391 } else {392 return (0, _shallowEqual.default)(node, opts);393 }394 }395 return false;396}397function isCallExpression(node, opts) {398 if (!node) return false;399 const nodeType = node.type;400 if (nodeType === "CallExpression") {401 if (typeof opts === "undefined") {402 return true;403 } else {404 return (0, _shallowEqual.default)(node, opts);405 }406 }407 return false;408}409function isCatchClause(node, opts) {410 if (!node) return false;411 const nodeType = node.type;412 if (nodeType === "CatchClause") {413 if (typeof opts === "undefined") {414 return true;415 } else {416 return (0, _shallowEqual.default)(node, opts);417 }418 }419 return false;420}421function isConditionalExpression(node, opts) {422 if (!node) return false;423 const nodeType = node.type;424 if (nodeType === "ConditionalExpression") {425 if (typeof opts === "undefined") {426 return true;427 } else {428 return (0, _shallowEqual.default)(node, opts);429 }430 }431 return false;432}433function isContinueStatement(node, opts) {434 if (!node) return false;435 const nodeType = node.type;436 if (nodeType === "ContinueStatement") {437 if (typeof opts === "undefined") {438 return true;439 } else {440 return (0, _shallowEqual.default)(node, opts);441 }442 }443 return false;444}445function isDebuggerStatement(node, opts) {446 if (!node) return false;447 const nodeType = node.type;448 if (nodeType === "DebuggerStatement") {449 if (typeof opts === "undefined") {450 return true;451 } else {452 return (0, _shallowEqual.default)(node, opts);453 }454 }455 return false;456}457function isDoWhileStatement(node, opts) {458 if (!node) return false;459 const nodeType = node.type;460 if (nodeType === "DoWhileStatement") {461 if (typeof opts === "undefined") {462 return true;463 } else {464 return (0, _shallowEqual.default)(node, opts);465 }466 }467 return false;468}469function isEmptyStatement(node, opts) {470 if (!node) return false;471 const nodeType = node.type;472 if (nodeType === "EmptyStatement") {473 if (typeof opts === "undefined") {474 return true;475 } else {476 return (0, _shallowEqual.default)(node, opts);477 }478 }479 return false;480}481function isExpressionStatement(node, opts) {482 if (!node) return false;483 const nodeType = node.type;484 if (nodeType === "ExpressionStatement") {485 if (typeof opts === "undefined") {486 return true;487 } else {488 return (0, _shallowEqual.default)(node, opts);489 }490 }491 return false;492}493function isFile(node, opts) {494 if (!node) return false;495 const nodeType = node.type;496 if (nodeType === "File") {497 if (typeof opts === "undefined") {498 return true;499 } else {500 return (0, _shallowEqual.default)(node, opts);501 }502 }503 return false;504}505function isForInStatement(node, opts) {506 if (!node) return false;507 const nodeType = node.type;508 if (nodeType === "ForInStatement") {509 if (typeof opts === "undefined") {510 return true;511 } else {512 return (0, _shallowEqual.default)(node, opts);513 }514 }515 return false;516}517function isForStatement(node, opts) {518 if (!node) return false;519 const nodeType = node.type;520 if (nodeType === "ForStatement") {521 if (typeof opts === "undefined") {522 return true;523 } else {524 return (0, _shallowEqual.default)(node, opts);525 }526 }527 return false;528}529function isFunctionDeclaration(node, opts) {530 if (!node) return false;531 const nodeType = node.type;532 if (nodeType === "FunctionDeclaration") {533 if (typeof opts === "undefined") {534 return true;535 } else {536 return (0, _shallowEqual.default)(node, opts);537 }538 }539 return false;540}541function isFunctionExpression(node, opts) {542 if (!node) return false;543 const nodeType = node.type;544 if (nodeType === "FunctionExpression") {545 if (typeof opts === "undefined") {546 return true;547 } else {548 return (0, _shallowEqual.default)(node, opts);549 }550 }551 return false;552}553function isIdentifier(node, opts) {554 if (!node) return false;555 const nodeType = node.type;556 if (nodeType === "Identifier") {557 if (typeof opts === "undefined") {558 return true;559 } else {560 return (0, _shallowEqual.default)(node, opts);561 }562 }563 return false;564}565function isIfStatement(node, opts) {566 if (!node) return false;567 const nodeType = node.type;568 if (nodeType === "IfStatement") {569 if (typeof opts === "undefined") {570 return true;571 } else {572 return (0, _shallowEqual.default)(node, opts);573 }574 }575 return false;576}577function isLabeledStatement(node, opts) {578 if (!node) return false;579 const nodeType = node.type;580 if (nodeType === "LabeledStatement") {581 if (typeof opts === "undefined") {582 return true;583 } else {584 return (0, _shallowEqual.default)(node, opts);585 }586 }587 return false;588}589function isStringLiteral(node, opts) {590 if (!node) return false;591 const nodeType = node.type;592 if (nodeType === "StringLiteral") {593 if (typeof opts === "undefined") {594 return true;595 } else {596 return (0, _shallowEqual.default)(node, opts);597 }598 }599 return false;600}601function isNumericLiteral(node, opts) {602 if (!node) return false;603 const nodeType = node.type;604 if (nodeType === "NumericLiteral") {605 if (typeof opts === "undefined") {606 return true;607 } else {608 return (0, _shallowEqual.default)(node, opts);609 }610 }611 return false;612}613function isNullLiteral(node, opts) {614 if (!node) return false;615 const nodeType = node.type;616 if (nodeType === "NullLiteral") {617 if (typeof opts === "undefined") {618 return true;619 } else {620 return (0, _shallowEqual.default)(node, opts);621 }622 }623 return false;624}625function isBooleanLiteral(node, opts) {626 if (!node) return false;627 const nodeType = node.type;628 if (nodeType === "BooleanLiteral") {629 if (typeof opts === "undefined") {630 return true;631 } else {632 return (0, _shallowEqual.default)(node, opts);633 }634 }635 return false;636}637function isRegExpLiteral(node, opts) {638 if (!node) return false;639 const nodeType = node.type;640 if (nodeType === "RegExpLiteral") {641 if (typeof opts === "undefined") {642 return true;643 } else {644 return (0, _shallowEqual.default)(node, opts);645 }646 }647 return false;648}649function isLogicalExpression(node, opts) {650 if (!node) return false;651 const nodeType = node.type;652 if (nodeType === "LogicalExpression") {653 if (typeof opts === "undefined") {654 return true;655 } else {656 return (0, _shallowEqual.default)(node, opts);657 }658 }659 return false;660}661function isMemberExpression(node, opts) {662 if (!node) return false;663 const nodeType = node.type;664 if (nodeType === "MemberExpression") {665 if (typeof opts === "undefined") {666 return true;667 } else {668 return (0, _shallowEqual.default)(node, opts);669 }670 }671 return false;672}673function isNewExpression(node, opts) {674 if (!node) return false;675 const nodeType = node.type;676 if (nodeType === "NewExpression") {677 if (typeof opts === "undefined") {678 return true;679 } else {680 return (0, _shallowEqual.default)(node, opts);681 }682 }683 return false;684}685function isProgram(node, opts) {686 if (!node) return false;687 const nodeType = node.type;688 if (nodeType === "Program") {689 if (typeof opts === "undefined") {690 return true;691 } else {692 return (0, _shallowEqual.default)(node, opts);693 }694 }695 return false;696}697function isObjectExpression(node, opts) {698 if (!node) return false;699 const nodeType = node.type;700 if (nodeType === "ObjectExpression") {701 if (typeof opts === "undefined") {702 return true;703 } else {704 return (0, _shallowEqual.default)(node, opts);705 }706 }707 return false;708}709function isObjectMethod(node, opts) {710 if (!node) return false;711 const nodeType = node.type;712 if (nodeType === "ObjectMethod") {713 if (typeof opts === "undefined") {714 return true;715 } else {716 return (0, _shallowEqual.default)(node, opts);717 }718 }719 return false;720}721function isObjectProperty(node, opts) {722 if (!node) return false;723 const nodeType = node.type;724 if (nodeType === "ObjectProperty") {725 if (typeof opts === "undefined") {726 return true;727 } else {728 return (0, _shallowEqual.default)(node, opts);729 }730 }731 return false;732}733function isRestElement(node, opts) {734 if (!node) return false;735 const nodeType = node.type;736 if (nodeType === "RestElement") {737 if (typeof opts === "undefined") {738 return true;739 } else {740 return (0, _shallowEqual.default)(node, opts);741 }742 }743 return false;744}745function isReturnStatement(node, opts) {746 if (!node) return false;747 const nodeType = node.type;748 if (nodeType === "ReturnStatement") {749 if (typeof opts === "undefined") {750 return true;751 } else {752 return (0, _shallowEqual.default)(node, opts);753 }754 }755 return false;756}757function isSequenceExpression(node, opts) {758 if (!node) return false;759 const nodeType = node.type;760 if (nodeType === "SequenceExpression") {761 if (typeof opts === "undefined") {762 return true;763 } else {764 return (0, _shallowEqual.default)(node, opts);765 }766 }767 return false;768}769function isParenthesizedExpression(node, opts) {770 if (!node) return false;771 const nodeType = node.type;772 if (nodeType === "ParenthesizedExpression") {773 if (typeof opts === "undefined") {774 return true;775 } else {776 return (0, _shallowEqual.default)(node, opts);777 }778 }779 return false;780}781function isSwitchCase(node, opts) {782 if (!node) return false;783 const nodeType = node.type;784 if (nodeType === "SwitchCase") {785 if (typeof opts === "undefined") {786 return true;787 } else {788 return (0, _shallowEqual.default)(node, opts);789 }790 }791 return false;792}793function isSwitchStatement(node, opts) {794 if (!node) return false;795 const nodeType = node.type;796 if (nodeType === "SwitchStatement") {797 if (typeof opts === "undefined") {798 return true;799 } else {800 return (0, _shallowEqual.default)(node, opts);801 }802 }803 return false;804}805function isThisExpression(node, opts) {806 if (!node) return false;807 const nodeType = node.type;808 if (nodeType === "ThisExpression") {809 if (typeof opts === "undefined") {810 return true;811 } else {812 return (0, _shallowEqual.default)(node, opts);813 }814 }815 return false;816}817function isThrowStatement(node, opts) {818 if (!node) return false;819 const nodeType = node.type;820 if (nodeType === "ThrowStatement") {821 if (typeof opts === "undefined") {822 return true;823 } else {824 return (0, _shallowEqual.default)(node, opts);825 }826 }827 return false;828}829function isTryStatement(node, opts) {830 if (!node) return false;831 const nodeType = node.type;832 if (nodeType === "TryStatement") {833 if (typeof opts === "undefined") {834 return true;835 } else {836 return (0, _shallowEqual.default)(node, opts);837 }838 }839 return false;840}841function isUnaryExpression(node, opts) {842 if (!node) return false;843 const nodeType = node.type;844 if (nodeType === "UnaryExpression") {845 if (typeof opts === "undefined") {846 return true;847 } else {848 return (0, _shallowEqual.default)(node, opts);849 }850 }851 return false;852}853function isUpdateExpression(node, opts) {854 if (!node) return false;855 const nodeType = node.type;856 if (nodeType === "UpdateExpression") {857 if (typeof opts === "undefined") {858 return true;859 } else {860 return (0, _shallowEqual.default)(node, opts);861 }862 }863 return false;864}865function isVariableDeclaration(node, opts) {866 if (!node) return false;867 const nodeType = node.type;868 if (nodeType === "VariableDeclaration") {869 if (typeof opts === "undefined") {870 return true;871 } else {872 return (0, _shallowEqual.default)(node, opts);873 }874 }875 return false;876}877function isVariableDeclarator(node, opts) {878 if (!node) return false;879 const nodeType = node.type;880 if (nodeType === "VariableDeclarator") {881 if (typeof opts === "undefined") {882 return true;883 } else {884 return (0, _shallowEqual.default)(node, opts);885 }886 }887 return false;888}889function isWhileStatement(node, opts) {890 if (!node) return false;891 const nodeType = node.type;892 if (nodeType === "WhileStatement") {893 if (typeof opts === "undefined") {894 return true;895 } else {896 return (0, _shallowEqual.default)(node, opts);897 }898 }899 return false;900}901function isWithStatement(node, opts) {902 if (!node) return false;903 const nodeType = node.type;904 if (nodeType === "WithStatement") {905 if (typeof opts === "undefined") {906 return true;907 } else {908 return (0, _shallowEqual.default)(node, opts);909 }910 }911 return false;912}913function isAssignmentPattern(node, opts) {914 if (!node) return false;915 const nodeType = node.type;916 if (nodeType === "AssignmentPattern") {917 if (typeof opts === "undefined") {918 return true;919 } else {920 return (0, _shallowEqual.default)(node, opts);921 }922 }923 return false;924}925function isArrayPattern(node, opts) {926 if (!node) return false;927 const nodeType = node.type;928 if (nodeType === "ArrayPattern") {929 if (typeof opts === "undefined") {930 return true;931 } else {932 return (0, _shallowEqual.default)(node, opts);933 }934 }935 return false;936}937function isArrowFunctionExpression(node, opts) {938 if (!node) return false;939 const nodeType = node.type;940 if (nodeType === "ArrowFunctionExpression") {941 if (typeof opts === "undefined") {942 return true;943 } else {944 return (0, _shallowEqual.default)(node, opts);945 }946 }947 return false;948}949function isClassBody(node, opts) {950 if (!node) return false;951 const nodeType = node.type;952 if (nodeType === "ClassBody") {953 if (typeof opts === "undefined") {954 return true;955 } else {956 return (0, _shallowEqual.default)(node, opts);957 }958 }959 return false;960}961function isClassExpression(node, opts) {962 if (!node) return false;963 const nodeType = node.type;964 if (nodeType === "ClassExpression") {965 if (typeof opts === "undefined") {966 return true;967 } else {968 return (0, _shallowEqual.default)(node, opts);969 }970 }971 return false;972}973function isClassDeclaration(node, opts) {974 if (!node) return false;975 const nodeType = node.type;976 if (nodeType === "ClassDeclaration") {977 if (typeof opts === "undefined") {978 return true;979 } else {980 return (0, _shallowEqual.default)(node, opts);981 }982 }983 return false;984}985function isExportAllDeclaration(node, opts) {986 if (!node) return false;987 const nodeType = node.type;988 if (nodeType === "ExportAllDeclaration") {989 if (typeof opts === "undefined") {990 return true;991 } else {992 return (0, _shallowEqual.default)(node, opts);993 }994 }995 return false;996}997function isExportDefaultDeclaration(node, opts) {998 if (!node) return false;999 const nodeType = node.type;1000 if (nodeType === "ExportDefaultDeclaration") {1001 if (typeof opts === "undefined") {1002 return true;1003 } else {1004 return (0, _shallowEqual.default)(node, opts);1005 }1006 }1007 return false;1008}1009function isExportNamedDeclaration(node, opts) {1010 if (!node) return false;1011 const nodeType = node.type;1012 if (nodeType === "ExportNamedDeclaration") {1013 if (typeof opts === "undefined") {1014 return true;1015 } else {1016 return (0, _shallowEqual.default)(node, opts);1017 }1018 }1019 return false;1020}1021function isExportSpecifier(node, opts) {1022 if (!node) return false;1023 const nodeType = node.type;1024 if (nodeType === "ExportSpecifier") {1025 if (typeof opts === "undefined") {1026 return true;1027 } else {1028 return (0, _shallowEqual.default)(node, opts);1029 }1030 }1031 return false;1032}1033function isForOfStatement(node, opts) {1034 if (!node) return false;1035 const nodeType = node.type;1036 if (nodeType === "ForOfStatement") {1037 if (typeof opts === "undefined") {1038 return true;1039 } else {1040 return (0, _shallowEqual.default)(node, opts);1041 }1042 }1043 return false;1044}1045function isImportDeclaration(node, opts) {1046 if (!node) return false;1047 const nodeType = node.type;1048 if (nodeType === "ImportDeclaration") {1049 if (typeof opts === "undefined") {1050 return true;1051 } else {1052 return (0, _shallowEqual.default)(node, opts);1053 }1054 }1055 return false;1056}1057function isImportDefaultSpecifier(node, opts) {1058 if (!node) return false;1059 const nodeType = node.type;1060 if (nodeType === "ImportDefaultSpecifier") {1061 if (typeof opts === "undefined") {1062 return true;1063 } else {1064 return (0, _shallowEqual.default)(node, opts);1065 }1066 }1067 return false;1068}1069function isImportNamespaceSpecifier(node, opts) {1070 if (!node) return false;1071 const nodeType = node.type;1072 if (nodeType === "ImportNamespaceSpecifier") {1073 if (typeof opts === "undefined") {1074 return true;1075 } else {1076 return (0, _shallowEqual.default)(node, opts);1077 }1078 }1079 return false;1080}1081function isImportSpecifier(node, opts) {1082 if (!node) return false;1083 const nodeType = node.type;1084 if (nodeType === "ImportSpecifier") {1085 if (typeof opts === "undefined") {1086 return true;1087 } else {1088 return (0, _shallowEqual.default)(node, opts);1089 }1090 }1091 return false;1092}1093function isMetaProperty(node, opts) {1094 if (!node) return false;1095 const nodeType = node.type;1096 if (nodeType === "MetaProperty") {1097 if (typeof opts === "undefined") {1098 return true;1099 } else {1100 return (0, _shallowEqual.default)(node, opts);1101 }1102 }1103 return false;1104}1105function isClassMethod(node, opts) {1106 if (!node) return false;1107 const nodeType = node.type;1108 if (nodeType === "ClassMethod") {1109 if (typeof opts === "undefined") {1110 return true;1111 } else {1112 return (0, _shallowEqual.default)(node, opts);1113 }1114 }1115 return false;1116}1117function isObjectPattern(node, opts) {1118 if (!node) return false;1119 const nodeType = node.type;1120 if (nodeType === "ObjectPattern") {1121 if (typeof opts === "undefined") {1122 return true;1123 } else {1124 return (0, _shallowEqual.default)(node, opts);1125 }1126 }1127 return false;1128}1129function isSpreadElement(node, opts) {1130 if (!node) return false;1131 const nodeType = node.type;1132 if (nodeType === "SpreadElement") {1133 if (typeof opts === "undefined") {1134 return true;1135 } else {1136 return (0, _shallowEqual.default)(node, opts);1137 }1138 }1139 return false;1140}1141function isSuper(node, opts) {1142 if (!node) return false;1143 const nodeType = node.type;1144 if (nodeType === "Super") {1145 if (typeof opts === "undefined") {1146 return true;1147 } else {1148 return (0, _shallowEqual.default)(node, opts);1149 }1150 }1151 return false;1152}1153function isTaggedTemplateExpression(node, opts) {1154 if (!node) return false;1155 const nodeType = node.type;1156 if (nodeType === "TaggedTemplateExpression") {1157 if (typeof opts === "undefined") {1158 return true;1159 } else {1160 return (0, _shallowEqual.default)(node, opts);1161 }1162 }1163 return false;1164}1165function isTemplateElement(node, opts) {1166 if (!node) return false;1167 const nodeType = node.type;1168 if (nodeType === "TemplateElement") {1169 if (typeof opts === "undefined") {1170 return true;1171 } else {1172 return (0, _shallowEqual.default)(node, opts);1173 }1174 }1175 return false;1176}1177function isTemplateLiteral(node, opts) {1178 if (!node) return false;1179 const nodeType = node.type;1180 if (nodeType === "TemplateLiteral") {1181 if (typeof opts === "undefined") {1182 return true;1183 } else {1184 return (0, _shallowEqual.default)(node, opts);1185 }1186 }1187 return false;1188}1189function isYieldExpression(node, opts) {1190 if (!node) return false;1191 const nodeType = node.type;1192 if (nodeType === "YieldExpression") {1193 if (typeof opts === "undefined") {1194 return true;1195 } else {1196 return (0, _shallowEqual.default)(node, opts);1197 }1198 }1199 return false;1200}1201function isAwaitExpression(node, opts) {1202 if (!node) return false;1203 const nodeType = node.type;1204 if (nodeType === "AwaitExpression") {1205 if (typeof opts === "undefined") {1206 return true;1207 } else {1208 return (0, _shallowEqual.default)(node, opts);1209 }1210 }1211 return false;1212}1213function isImport(node, opts) {1214 if (!node) return false;1215 const nodeType = node.type;1216 if (nodeType === "Import") {1217 if (typeof opts === "undefined") {1218 return true;1219 } else {1220 return (0, _shallowEqual.default)(node, opts);1221 }1222 }1223 return false;1224}1225function isBigIntLiteral(node, opts) {1226 if (!node) return false;1227 const nodeType = node.type;1228 if (nodeType === "BigIntLiteral") {1229 if (typeof opts === "undefined") {1230 return true;1231 } else {1232 return (0, _shallowEqual.default)(node, opts);1233 }1234 }1235 return false;1236}1237function isExportNamespaceSpecifier(node, opts) {1238 if (!node) return false;1239 const nodeType = node.type;1240 if (nodeType === "ExportNamespaceSpecifier") {1241 if (typeof opts === "undefined") {1242 return true;1243 } else {1244 return (0, _shallowEqual.default)(node, opts);1245 }1246 }1247 return false;1248}1249function isOptionalMemberExpression(node, opts) {1250 if (!node) return false;1251 const nodeType = node.type;1252 if (nodeType === "OptionalMemberExpression") {1253 if (typeof opts === "undefined") {1254 return true;1255 } else {1256 return (0, _shallowEqual.default)(node, opts);1257 }1258 }1259 return false;1260}1261function isOptionalCallExpression(node, opts) {1262 if (!node) return false;1263 const nodeType = node.type;1264 if (nodeType === "OptionalCallExpression") {1265 if (typeof opts === "undefined") {1266 return true;1267 } else {1268 return (0, _shallowEqual.default)(node, opts);1269 }1270 }1271 return false;1272}1273function isClassProperty(node, opts) {1274 if (!node) return false;1275 const nodeType = node.type;1276 if (nodeType === "ClassProperty") {1277 if (typeof opts === "undefined") {1278 return true;1279 } else {1280 return (0, _shallowEqual.default)(node, opts);1281 }1282 }1283 return false;1284}1285function isClassPrivateProperty(node, opts) {1286 if (!node) return false;1287 const nodeType = node.type;1288 if (nodeType === "ClassPrivateProperty") {1289 if (typeof opts === "undefined") {1290 return true;1291 } else {1292 return (0, _shallowEqual.default)(node, opts);1293 }1294 }1295 return false;1296}1297function isClassPrivateMethod(node, opts) {1298 if (!node) return false;1299 const nodeType = node.type;1300 if (nodeType === "ClassPrivateMethod") {1301 if (typeof opts === "undefined") {1302 return true;1303 } else {1304 return (0, _shallowEqual.default)(node, opts);1305 }1306 }1307 return false;1308}1309function isPrivateName(node, opts) {1310 if (!node) return false;1311 const nodeType = node.type;1312 if (nodeType === "PrivateName") {1313 if (typeof opts === "undefined") {1314 return true;1315 } else {1316 return (0, _shallowEqual.default)(node, opts);1317 }1318 }1319 return false;1320}1321function isAnyTypeAnnotation(node, opts) {1322 if (!node) return false;1323 const nodeType = node.type;1324 if (nodeType === "AnyTypeAnnotation") {1325 if (typeof opts === "undefined") {1326 return true;1327 } else {1328 return (0, _shallowEqual.default)(node, opts);1329 }1330 }1331 return false;1332}1333function isArrayTypeAnnotation(node, opts) {1334 if (!node) return false;1335 const nodeType = node.type;1336 if (nodeType === "ArrayTypeAnnotation") {1337 if (typeof opts === "undefined") {1338 return true;1339 } else {1340 return (0, _shallowEqual.default)(node, opts);1341 }1342 }1343 return false;1344}1345function isBooleanTypeAnnotation(node, opts) {1346 if (!node) return false;1347 const nodeType = node.type;1348 if (nodeType === "BooleanTypeAnnotation") {1349 if (typeof opts === "undefined") {1350 return true;1351 } else {1352 return (0, _shallowEqual.default)(node, opts);1353 }1354 }1355 return false;1356}1357function isBooleanLiteralTypeAnnotation(node, opts) {1358 if (!node) return false;1359 const nodeType = node.type;1360 if (nodeType === "BooleanLiteralTypeAnnotation") {1361 if (typeof opts === "undefined") {1362 return true;1363 } else {1364 return (0, _shallowEqual.default)(node, opts);1365 }1366 }1367 return false;1368}1369function isNullLiteralTypeAnnotation(node, opts) {1370 if (!node) return false;1371 const nodeType = node.type;1372 if (nodeType === "NullLiteralTypeAnnotation") {1373 if (typeof opts === "undefined") {1374 return true;1375 } else {1376 return (0, _shallowEqual.default)(node, opts);1377 }1378 }1379 return false;1380}1381function isClassImplements(node, opts) {1382 if (!node) return false;1383 const nodeType = node.type;1384 if (nodeType === "ClassImplements") {1385 if (typeof opts === "undefined") {1386 return true;1387 } else {1388 return (0, _shallowEqual.default)(node, opts);1389 }1390 }1391 return false;1392}1393function isDeclareClass(node, opts) {1394 if (!node) return false;1395 const nodeType = node.type;1396 if (nodeType === "DeclareClass") {1397 if (typeof opts === "undefined") {1398 return true;1399 } else {1400 return (0, _shallowEqual.default)(node, opts);1401 }1402 }1403 return false;1404}1405function isDeclareFunction(node, opts) {1406 if (!node) return false;1407 const nodeType = node.type;1408 if (nodeType === "DeclareFunction") {1409 if (typeof opts === "undefined") {1410 return true;1411 } else {1412 return (0, _shallowEqual.default)(node, opts);1413 }1414 }1415 return false;1416}1417function isDeclareInterface(node, opts) {1418 if (!node) return false;1419 const nodeType = node.type;1420 if (nodeType === "DeclareInterface") {1421 if (typeof opts === "undefined") {1422 return true;1423 } else {1424 return (0, _shallowEqual.default)(node, opts);1425 }1426 }1427 return false;1428}1429function isDeclareModule(node, opts) {1430 if (!node) return false;1431 const nodeType = node.type;1432 if (nodeType === "DeclareModule") {1433 if (typeof opts === "undefined") {1434 return true;1435 } else {1436 return (0, _shallowEqual.default)(node, opts);1437 }1438 }1439 return false;1440}1441function isDeclareModuleExports(node, opts) {1442 if (!node) return false;1443 const nodeType = node.type;1444 if (nodeType === "DeclareModuleExports") {1445 if (typeof opts === "undefined") {1446 return true;1447 } else {1448 return (0, _shallowEqual.default)(node, opts);1449 }1450 }1451 return false;1452}1453function isDeclareTypeAlias(node, opts) {1454 if (!node) return false;1455 const nodeType = node.type;1456 if (nodeType === "DeclareTypeAlias") {1457 if (typeof opts === "undefined") {1458 return true;1459 } else {1460 return (0, _shallowEqual.default)(node, opts);1461 }1462 }1463 return false;1464}1465function isDeclareOpaqueType(node, opts) {1466 if (!node) return false;1467 const nodeType = node.type;1468 if (nodeType === "DeclareOpaqueType") {1469 if (typeof opts === "undefined") {1470 return true;1471 } else {1472 return (0, _shallowEqual.default)(node, opts);1473 }1474 }1475 return false;1476}1477function isDeclareVariable(node, opts) {1478 if (!node) return false;1479 const nodeType = node.type;1480 if (nodeType === "DeclareVariable") {1481 if (typeof opts === "undefined") {1482 return true;1483 } else {1484 return (0, _shallowEqual.default)(node, opts);1485 }1486 }1487 return false;1488}1489function isDeclareExportDeclaration(node, opts) {1490 if (!node) return false;1491 const nodeType = node.type;1492 if (nodeType === "DeclareExportDeclaration") {1493 if (typeof opts === "undefined") {1494 return true;1495 } else {1496 return (0, _shallowEqual.default)(node, opts);1497 }1498 }1499 return false;1500}1501function isDeclareExportAllDeclaration(node, opts) {1502 if (!node) return false;1503 const nodeType = node.type;1504 if (nodeType === "DeclareExportAllDeclaration") {1505 if (typeof opts === "undefined") {1506 return true;1507 } else {1508 return (0, _shallowEqual.default)(node, opts);1509 }1510 }1511 return false;1512}1513function isDeclaredPredicate(node, opts) {1514 if (!node) return false;1515 const nodeType = node.type;1516 if (nodeType === "DeclaredPredicate") {1517 if (typeof opts === "undefined") {1518 return true;1519 } else {1520 return (0, _shallowEqual.default)(node, opts);1521 }1522 }1523 return false;1524}1525function isExistsTypeAnnotation(node, opts) {1526 if (!node) return false;1527 const nodeType = node.type;1528 if (nodeType === "ExistsTypeAnnotation") {1529 if (typeof opts === "undefined") {1530 return true;1531 } else {1532 return (0, _shallowEqual.default)(node, opts);1533 }1534 }1535 return false;1536}1537function isFunctionTypeAnnotation(node, opts) {1538 if (!node) return false;1539 const nodeType = node.type;1540 if (nodeType === "FunctionTypeAnnotation") {1541 if (typeof opts === "undefined") {1542 return true;1543 } else {1544 return (0, _shallowEqual.default)(node, opts);1545 }1546 }1547 return false;1548}1549function isFunctionTypeParam(node, opts) {1550 if (!node) return false;1551 const nodeType = node.type;1552 if (nodeType === "FunctionTypeParam") {1553 if (typeof opts === "undefined") {1554 return true;1555 } else {1556 return (0, _shallowEqual.default)(node, opts);1557 }1558 }1559 return false;1560}1561function isGenericTypeAnnotation(node, opts) {1562 if (!node) return false;1563 const nodeType = node.type;1564 if (nodeType === "GenericTypeAnnotation") {1565 if (typeof opts === "undefined") {1566 return true;1567 } else {1568 return (0, _shallowEqual.default)(node, opts);1569 }1570 }1571 return false;1572}1573function isInferredPredicate(node, opts) {1574 if (!node) return false;1575 const nodeType = node.type;1576 if (nodeType === "InferredPredicate") {1577 if (typeof opts === "undefined") {1578 return true;1579 } else {1580 return (0, _shallowEqual.default)(node, opts);1581 }1582 }1583 return false;1584}1585function isInterfaceExtends(node, opts) {1586 if (!node) return false;1587 const nodeType = node.type;1588 if (nodeType === "InterfaceExtends") {1589 if (typeof opts === "undefined") {1590 return true;1591 } else {1592 return (0, _shallowEqual.default)(node, opts);1593 }1594 }1595 return false;1596}1597function isInterfaceDeclaration(node, opts) {1598 if (!node) return false;1599 const nodeType = node.type;1600 if (nodeType === "InterfaceDeclaration") {1601 if (typeof opts === "undefined") {1602 return true;1603 } else {1604 return (0, _shallowEqual.default)(node, opts);1605 }1606 }1607 return false;1608}1609function isInterfaceTypeAnnotation(node, opts) {1610 if (!node) return false;1611 const nodeType = node.type;1612 if (nodeType === "InterfaceTypeAnnotation") {1613 if (typeof opts === "undefined") {1614 return true;1615 } else {1616 return (0, _shallowEqual.default)(node, opts);1617 }1618 }1619 return false;1620}1621function isIntersectionTypeAnnotation(node, opts) {1622 if (!node) return false;1623 const nodeType = node.type;1624 if (nodeType === "IntersectionTypeAnnotation") {1625 if (typeof opts === "undefined") {1626 return true;1627 } else {1628 return (0, _shallowEqual.default)(node, opts);1629 }1630 }1631 return false;1632}1633function isMixedTypeAnnotation(node, opts) {1634 if (!node) return false;1635 const nodeType = node.type;1636 if (nodeType === "MixedTypeAnnotation") {1637 if (typeof opts === "undefined") {1638 return true;1639 } else {1640 return (0, _shallowEqual.default)(node, opts);1641 }1642 }1643 return false;1644}1645function isEmptyTypeAnnotation(node, opts) {1646 if (!node) return false;1647 const nodeType = node.type;1648 if (nodeType === "EmptyTypeAnnotation") {1649 if (typeof opts === "undefined") {1650 return true;1651 } else {1652 return (0, _shallowEqual.default)(node, opts);1653 }1654 }1655 return false;1656}1657function isNullableTypeAnnotation(node, opts) {1658 if (!node) return false;1659 const nodeType = node.type;1660 if (nodeType === "NullableTypeAnnotation") {1661 if (typeof opts === "undefined") {1662 return true;1663 } else {1664 return (0, _shallowEqual.default)(node, opts);1665 }1666 }1667 return false;1668}1669function isNumberLiteralTypeAnnotation(node, opts) {1670 if (!node) return false;1671 const nodeType = node.type;1672 if (nodeType === "NumberLiteralTypeAnnotation") {1673 if (typeof opts === "undefined") {1674 return true;1675 } else {1676 return (0, _shallowEqual.default)(node, opts);1677 }1678 }1679 return false;1680}1681function isNumberTypeAnnotation(node, opts) {1682 if (!node) return false;1683 const nodeType = node.type;1684 if (nodeType === "NumberTypeAnnotation") {1685 if (typeof opts === "undefined") {1686 return true;1687 } else {1688 return (0, _shallowEqual.default)(node, opts);1689 }1690 }1691 return false;1692}1693function isObjectTypeAnnotation(node, opts) {1694 if (!node) return false;1695 const nodeType = node.type;1696 if (nodeType === "ObjectTypeAnnotation") {1697 if (typeof opts === "undefined") {1698 return true;1699 } else {1700 return (0, _shallowEqual.default)(node, opts);1701 }1702 }1703 return false;1704}1705function isObjectTypeInternalSlot(node, opts) {1706 if (!node) return false;1707 const nodeType = node.type;1708 if (nodeType === "ObjectTypeInternalSlot") {1709 if (typeof opts === "undefined") {1710 return true;1711 } else {1712 return (0, _shallowEqual.default)(node, opts);1713 }1714 }1715 return false;1716}1717function isObjectTypeCallProperty(node, opts) {1718 if (!node) return false;1719 const nodeType = node.type;1720 if (nodeType === "ObjectTypeCallProperty") {1721 if (typeof opts === "undefined") {1722 return true;1723 } else {1724 return (0, _shallowEqual.default)(node, opts);1725 }1726 }1727 return false;1728}1729function isObjectTypeIndexer(node, opts) {1730 if (!node) return false;1731 const nodeType = node.type;1732 if (nodeType === "ObjectTypeIndexer") {1733 if (typeof opts === "undefined") {1734 return true;1735 } else {1736 return (0, _shallowEqual.default)(node, opts);1737 }1738 }1739 return false;1740}1741function isObjectTypeProperty(node, opts) {1742 if (!node) return false;1743 const nodeType = node.type;1744 if (nodeType === "ObjectTypeProperty") {1745 if (typeof opts === "undefined") {1746 return true;1747 } else {1748 return (0, _shallowEqual.default)(node, opts);1749 }1750 }1751 return false;1752}1753function isObjectTypeSpreadProperty(node, opts) {1754 if (!node) return false;1755 const nodeType = node.type;1756 if (nodeType === "ObjectTypeSpreadProperty") {1757 if (typeof opts === "undefined") {1758 return true;1759 } else {1760 return (0, _shallowEqual.default)(node, opts);1761 }1762 }1763 return false;1764}1765function isOpaqueType(node, opts) {1766 if (!node) return false;1767 const nodeType = node.type;1768 if (nodeType === "OpaqueType") {1769 if (typeof opts === "undefined") {1770 return true;1771 } else {1772 return (0, _shallowEqual.default)(node, opts);1773 }1774 }1775 return false;1776}1777function isQualifiedTypeIdentifier(node, opts) {1778 if (!node) return false;1779 const nodeType = node.type;1780 if (nodeType === "QualifiedTypeIdentifier") {1781 if (typeof opts === "undefined") {1782 return true;1783 } else {1784 return (0, _shallowEqual.default)(node, opts);1785 }1786 }1787 return false;1788}1789function isStringLiteralTypeAnnotation(node, opts) {1790 if (!node) return false;1791 const nodeType = node.type;1792 if (nodeType === "StringLiteralTypeAnnotation") {1793 if (typeof opts === "undefined") {1794 return true;1795 } else {1796 return (0, _shallowEqual.default)(node, opts);1797 }1798 }1799 return false;1800}1801function isStringTypeAnnotation(node, opts) {1802 if (!node) return false;1803 const nodeType = node.type;1804 if (nodeType === "StringTypeAnnotation") {1805 if (typeof opts === "undefined") {1806 return true;1807 } else {1808 return (0, _shallowEqual.default)(node, opts);1809 }1810 }1811 return false;1812}1813function isSymbolTypeAnnotation(node, opts) {1814 if (!node) return false;1815 const nodeType = node.type;1816 if (nodeType === "SymbolTypeAnnotation") {1817 if (typeof opts === "undefined") {1818 return true;1819 } else {1820 return (0, _shallowEqual.default)(node, opts);1821 }1822 }1823 return false;1824}1825function isThisTypeAnnotation(node, opts) {1826 if (!node) return false;1827 const nodeType = node.type;1828 if (nodeType === "ThisTypeAnnotation") {1829 if (typeof opts === "undefined") {1830 return true;1831 } else {1832 return (0, _shallowEqual.default)(node, opts);1833 }1834 }1835 return false;1836}1837function isTupleTypeAnnotation(node, opts) {1838 if (!node) return false;1839 const nodeType = node.type;1840 if (nodeType === "TupleTypeAnnotation") {1841 if (typeof opts === "undefined") {1842 return true;1843 } else {1844 return (0, _shallowEqual.default)(node, opts);1845 }1846 }1847 return false;1848}1849function isTypeofTypeAnnotation(node, opts) {1850 if (!node) return false;1851 const nodeType = node.type;1852 if (nodeType === "TypeofTypeAnnotation") {1853 if (typeof opts === "undefined") {1854 return true;1855 } else {1856 return (0, _shallowEqual.default)(node, opts);1857 }1858 }1859 return false;1860}1861function isTypeAlias(node, opts) {1862 if (!node) return false;1863 const nodeType = node.type;1864 if (nodeType === "TypeAlias") {1865 if (typeof opts === "undefined") {1866 return true;1867 } else {1868 return (0, _shallowEqual.default)(node, opts);1869 }1870 }1871 return false;1872}1873function isTypeAnnotation(node, opts) {1874 if (!node) return false;1875 const nodeType = node.type;1876 if (nodeType === "TypeAnnotation") {1877 if (typeof opts === "undefined") {1878 return true;1879 } else {1880 return (0, _shallowEqual.default)(node, opts);1881 }1882 }1883 return false;1884}1885function isTypeCastExpression(node, opts) {1886 if (!node) return false;1887 const nodeType = node.type;1888 if (nodeType === "TypeCastExpression") {1889 if (typeof opts === "undefined") {1890 return true;1891 } else {1892 return (0, _shallowEqual.default)(node, opts);1893 }1894 }1895 return false;1896}1897function isTypeParameter(node, opts) {1898 if (!node) return false;1899 const nodeType = node.type;1900 if (nodeType === "TypeParameter") {1901 if (typeof opts === "undefined") {1902 return true;1903 } else {1904 return (0, _shallowEqual.default)(node, opts);1905 }1906 }1907 return false;1908}1909function isTypeParameterDeclaration(node, opts) {1910 if (!node) return false;1911 const nodeType = node.type;1912 if (nodeType === "TypeParameterDeclaration") {1913 if (typeof opts === "undefined") {1914 return true;1915 } else {1916 return (0, _shallowEqual.default)(node, opts);1917 }1918 }1919 return false;1920}1921function isTypeParameterInstantiation(node, opts) {1922 if (!node) return false;1923 const nodeType = node.type;1924 if (nodeType === "TypeParameterInstantiation") {1925 if (typeof opts === "undefined") {1926 return true;1927 } else {1928 return (0, _shallowEqual.default)(node, opts);1929 }1930 }1931 return false;1932}1933function isUnionTypeAnnotation(node, opts) {1934 if (!node) return false;1935 const nodeType = node.type;1936 if (nodeType === "UnionTypeAnnotation") {1937 if (typeof opts === "undefined") {1938 return true;1939 } else {1940 return (0, _shallowEqual.default)(node, opts);1941 }1942 }1943 return false;1944}1945function isVariance(node, opts) {1946 if (!node) return false;1947 const nodeType = node.type;1948 if (nodeType === "Variance") {1949 if (typeof opts === "undefined") {1950 return true;1951 } else {1952 return (0, _shallowEqual.default)(node, opts);1953 }1954 }1955 return false;1956}1957function isVoidTypeAnnotation(node, opts) {1958 if (!node) return false;1959 const nodeType = node.type;1960 if (nodeType === "VoidTypeAnnotation") {1961 if (typeof opts === "undefined") {1962 return true;1963 } else {1964 return (0, _shallowEqual.default)(node, opts);1965 }1966 }1967 return false;1968}1969function isEnumDeclaration(node, opts) {1970 if (!node) return false;1971 const nodeType = node.type;1972 if (nodeType === "EnumDeclaration") {1973 if (typeof opts === "undefined") {1974 return true;1975 } else {1976 return (0, _shallowEqual.default)(node, opts);1977 }1978 }1979 return false;1980}1981function isEnumBooleanBody(node, opts) {1982 if (!node) return false;1983 const nodeType = node.type;1984 if (nodeType === "EnumBooleanBody") {1985 if (typeof opts === "undefined") {1986 return true;1987 } else {1988 return (0, _shallowEqual.default)(node, opts);1989 }1990 }1991 return false;1992}1993function isEnumNumberBody(node, opts) {1994 if (!node) return false;1995 const nodeType = node.type;1996 if (nodeType === "EnumNumberBody") {1997 if (typeof opts === "undefined") {1998 return true;1999 } else {2000 return (0, _shallowEqual.default)(node, opts);2001 }2002 }2003 return false;2004}2005function isEnumStringBody(node, opts) {2006 if (!node) return false;2007 const nodeType = node.type;2008 if (nodeType === "EnumStringBody") {2009 if (typeof opts === "undefined") {2010 return true;2011 } else {2012 return (0, _shallowEqual.default)(node, opts);2013 }2014 }2015 return false;2016}2017function isEnumSymbolBody(node, opts) {2018 if (!node) return false;2019 const nodeType = node.type;2020 if (nodeType === "EnumSymbolBody") {2021 if (typeof opts === "undefined") {2022 return true;2023 } else {2024 return (0, _shallowEqual.default)(node, opts);2025 }2026 }2027 return false;2028}2029function isEnumBooleanMember(node, opts) {2030 if (!node) return false;2031 const nodeType = node.type;2032 if (nodeType === "EnumBooleanMember") {2033 if (typeof opts === "undefined") {2034 return true;2035 } else {2036 return (0, _shallowEqual.default)(node, opts);2037 }2038 }2039 return false;2040}2041function isEnumNumberMember(node, opts) {2042 if (!node) return false;2043 const nodeType = node.type;2044 if (nodeType === "EnumNumberMember") {2045 if (typeof opts === "undefined") {2046 return true;2047 } else {2048 return (0, _shallowEqual.default)(node, opts);2049 }2050 }2051 return false;2052}2053function isEnumStringMember(node, opts) {2054 if (!node) return false;2055 const nodeType = node.type;2056 if (nodeType === "EnumStringMember") {2057 if (typeof opts === "undefined") {2058 return true;2059 } else {2060 return (0, _shallowEqual.default)(node, opts);2061 }2062 }2063 return false;2064}2065function isEnumDefaultedMember(node, opts) {2066 if (!node) return false;2067 const nodeType = node.type;2068 if (nodeType === "EnumDefaultedMember") {2069 if (typeof opts === "undefined") {2070 return true;2071 } else {2072 return (0, _shallowEqual.default)(node, opts);2073 }2074 }2075 return false;2076}2077function isIndexedAccessType(node, opts) {2078 if (!node) return false;2079 const nodeType = node.type;2080 if (nodeType === "IndexedAccessType") {2081 if (typeof opts === "undefined") {2082 return true;2083 } else {2084 return (0, _shallowEqual.default)(node, opts);2085 }2086 }2087 return false;2088}2089function isOptionalIndexedAccessType(node, opts) {2090 if (!node) return false;2091 const nodeType = node.type;2092 if (nodeType === "OptionalIndexedAccessType") {2093 if (typeof opts === "undefined") {2094 return true;2095 } else {2096 return (0, _shallowEqual.default)(node, opts);2097 }2098 }2099 return false;2100}2101function isJSXAttribute(node, opts) {2102 if (!node) return false;2103 const nodeType = node.type;2104 if (nodeType === "JSXAttribute") {2105 if (typeof opts === "undefined") {2106 return true;2107 } else {2108 return (0, _shallowEqual.default)(node, opts);2109 }2110 }2111 return false;2112}2113function isJSXClosingElement(node, opts) {2114 if (!node) return false;2115 const nodeType = node.type;2116 if (nodeType === "JSXClosingElement") {2117 if (typeof opts === "undefined") {2118 return true;2119 } else {2120 return (0, _shallowEqual.default)(node, opts);2121 }2122 }2123 return false;2124}2125function isJSXElement(node, opts) {2126 if (!node) return false;2127 const nodeType = node.type;2128 if (nodeType === "JSXElement") {2129 if (typeof opts === "undefined") {2130 return true;2131 } else {2132 return (0, _shallowEqual.default)(node, opts);2133 }2134 }2135 return false;2136}2137function isJSXEmptyExpression(node, opts) {2138 if (!node) return false;2139 const nodeType = node.type;2140 if (nodeType === "JSXEmptyExpression") {2141 if (typeof opts === "undefined") {2142 return true;2143 } else {2144 return (0, _shallowEqual.default)(node, opts);2145 }2146 }2147 return false;2148}2149function isJSXExpressionContainer(node, opts) {2150 if (!node) return false;2151 const nodeType = node.type;2152 if (nodeType === "JSXExpressionContainer") {2153 if (typeof opts === "undefined") {2154 return true;2155 } else {2156 return (0, _shallowEqual.default)(node, opts);2157 }2158 }2159 return false;2160}2161function isJSXSpreadChild(node, opts) {2162 if (!node) return false;2163 const nodeType = node.type;2164 if (nodeType === "JSXSpreadChild") {2165 if (typeof opts === "undefined") {2166 return true;2167 } else {2168 return (0, _shallowEqual.default)(node, opts);2169 }2170 }2171 return false;2172}2173function isJSXIdentifier(node, opts) {2174 if (!node) return false;2175 const nodeType = node.type;2176 if (nodeType === "JSXIdentifier") {2177 if (typeof opts === "undefined") {2178 return true;2179 } else {2180 return (0, _shallowEqual.default)(node, opts);2181 }2182 }2183 return false;2184}2185function isJSXMemberExpression(node, opts) {2186 if (!node) return false;2187 const nodeType = node.type;2188 if (nodeType === "JSXMemberExpression") {2189 if (typeof opts === "undefined") {2190 return true;2191 } else {2192 return (0, _shallowEqual.default)(node, opts);2193 }2194 }2195 return false;2196}2197function isJSXNamespacedName(node, opts) {2198 if (!node) return false;2199 const nodeType = node.type;2200 if (nodeType === "JSXNamespacedName") {2201 if (typeof opts === "undefined") {2202 return true;2203 } else {2204 return (0, _shallowEqual.default)(node, opts);2205 }2206 }2207 return false;2208}2209function isJSXOpeningElement(node, opts) {2210 if (!node) return false;2211 const nodeType = node.type;2212 if (nodeType === "JSXOpeningElement") {2213 if (typeof opts === "undefined") {2214 return true;2215 } else {2216 return (0, _shallowEqual.default)(node, opts);2217 }2218 }2219 return false;2220}2221function isJSXSpreadAttribute(node, opts) {2222 if (!node) return false;2223 const nodeType = node.type;2224 if (nodeType === "JSXSpreadAttribute") {2225 if (typeof opts === "undefined") {2226 return true;2227 } else {2228 return (0, _shallowEqual.default)(node, opts);2229 }2230 }2231 return false;2232}2233function isJSXText(node, opts) {2234 if (!node) return false;2235 const nodeType = node.type;2236 if (nodeType === "JSXText") {2237 if (typeof opts === "undefined") {2238 return true;2239 } else {2240 return (0, _shallowEqual.default)(node, opts);2241 }2242 }2243 return false;2244}2245function isJSXFragment(node, opts) {2246 if (!node) return false;2247 const nodeType = node.type;2248 if (nodeType === "JSXFragment") {2249 if (typeof opts === "undefined") {2250 return true;2251 } else {2252 return (0, _shallowEqual.default)(node, opts);2253 }2254 }2255 return false;2256}2257function isJSXOpeningFragment(node, opts) {2258 if (!node) return false;2259 const nodeType = node.type;2260 if (nodeType === "JSXOpeningFragment") {2261 if (typeof opts === "undefined") {2262 return true;2263 } else {2264 return (0, _shallowEqual.default)(node, opts);2265 }2266 }2267 return false;2268}2269function isJSXClosingFragment(node, opts) {2270 if (!node) return false;2271 const nodeType = node.type;2272 if (nodeType === "JSXClosingFragment") {2273 if (typeof opts === "undefined") {2274 return true;2275 } else {2276 return (0, _shallowEqual.default)(node, opts);2277 }2278 }2279 return false;2280}2281function isNoop(node, opts) {2282 if (!node) return false;2283 const nodeType = node.type;2284 if (nodeType === "Noop") {2285 if (typeof opts === "undefined") {2286 return true;2287 } else {2288 return (0, _shallowEqual.default)(node, opts);2289 }2290 }2291 return false;2292}2293function isPlaceholder(node, opts) {2294 if (!node) return false;2295 const nodeType = node.type;2296 if (nodeType === "Placeholder") {2297 if (typeof opts === "undefined") {2298 return true;2299 } else {2300 return (0, _shallowEqual.default)(node, opts);2301 }2302 }2303 return false;2304}2305function isV8IntrinsicIdentifier(node, opts) {2306 if (!node) return false;2307 const nodeType = node.type;2308 if (nodeType === "V8IntrinsicIdentifier") {2309 if (typeof opts === "undefined") {2310 return true;2311 } else {2312 return (0, _shallowEqual.default)(node, opts);2313 }2314 }2315 return false;2316}2317function isArgumentPlaceholder(node, opts) {2318 if (!node) return false;2319 const nodeType = node.type;2320 if (nodeType === "ArgumentPlaceholder") {2321 if (typeof opts === "undefined") {2322 return true;2323 } else {2324 return (0, _shallowEqual.default)(node, opts);2325 }2326 }2327 return false;2328}2329function isBindExpression(node, opts) {2330 if (!node) return false;2331 const nodeType = node.type;2332 if (nodeType === "BindExpression") {2333 if (typeof opts === "undefined") {2334 return true;2335 } else {2336 return (0, _shallowEqual.default)(node, opts);2337 }2338 }2339 return false;2340}2341function isImportAttribute(node, opts) {2342 if (!node) return false;2343 const nodeType = node.type;2344 if (nodeType === "ImportAttribute") {2345 if (typeof opts === "undefined") {2346 return true;2347 } else {2348 return (0, _shallowEqual.default)(node, opts);2349 }2350 }2351 return false;2352}2353function isDecorator(node, opts) {2354 if (!node) return false;2355 const nodeType = node.type;2356 if (nodeType === "Decorator") {2357 if (typeof opts === "undefined") {2358 return true;2359 } else {2360 return (0, _shallowEqual.default)(node, opts);2361 }2362 }2363 return false;2364}2365function isDoExpression(node, opts) {2366 if (!node) return false;2367 const nodeType = node.type;2368 if (nodeType === "DoExpression") {2369 if (typeof opts === "undefined") {2370 return true;2371 } else {2372 return (0, _shallowEqual.default)(node, opts);2373 }2374 }2375 return false;2376}2377function isExportDefaultSpecifier(node, opts) {2378 if (!node) return false;2379 const nodeType = node.type;2380 if (nodeType === "ExportDefaultSpecifier") {2381 if (typeof opts === "undefined") {2382 return true;2383 } else {2384 return (0, _shallowEqual.default)(node, opts);2385 }2386 }2387 return false;2388}2389function isRecordExpression(node, opts) {2390 if (!node) return false;2391 const nodeType = node.type;2392 if (nodeType === "RecordExpression") {2393 if (typeof opts === "undefined") {2394 return true;2395 } else {2396 return (0, _shallowEqual.default)(node, opts);2397 }2398 }2399 return false;2400}2401function isTupleExpression(node, opts) {2402 if (!node) return false;2403 const nodeType = node.type;2404 if (nodeType === "TupleExpression") {2405 if (typeof opts === "undefined") {2406 return true;2407 } else {2408 return (0, _shallowEqual.default)(node, opts);2409 }2410 }2411 return false;2412}2413function isDecimalLiteral(node, opts) {2414 if (!node) return false;2415 const nodeType = node.type;2416 if (nodeType === "DecimalLiteral") {2417 if (typeof opts === "undefined") {2418 return true;2419 } else {2420 return (0, _shallowEqual.default)(node, opts);2421 }2422 }2423 return false;2424}2425function isStaticBlock(node, opts) {2426 if (!node) return false;2427 const nodeType = node.type;2428 if (nodeType === "StaticBlock") {2429 if (typeof opts === "undefined") {2430 return true;2431 } else {2432 return (0, _shallowEqual.default)(node, opts);2433 }2434 }2435 return false;2436}2437function isModuleExpression(node, opts) {2438 if (!node) return false;2439 const nodeType = node.type;2440 if (nodeType === "ModuleExpression") {2441 if (typeof opts === "undefined") {2442 return true;2443 } else {2444 return (0, _shallowEqual.default)(node, opts);2445 }2446 }2447 return false;2448}2449function isTopicReference(node, opts) {2450 if (!node) return false;2451 const nodeType = node.type;2452 if (nodeType === "TopicReference") {2453 if (typeof opts === "undefined") {2454 return true;2455 } else {2456 return (0, _shallowEqual.default)(node, opts);2457 }2458 }2459 return false;2460}2461function isPipelineTopicExpression(node, opts) {2462 if (!node) return false;2463 const nodeType = node.type;2464 if (nodeType === "PipelineTopicExpression") {2465 if (typeof opts === "undefined") {2466 return true;2467 } else {2468 return (0, _shallowEqual.default)(node, opts);2469 }2470 }2471 return false;2472}2473function isPipelineBareFunction(node, opts) {2474 if (!node) return false;2475 const nodeType = node.type;2476 if (nodeType === "PipelineBareFunction") {2477 if (typeof opts === "undefined") {2478 return true;2479 } else {2480 return (0, _shallowEqual.default)(node, opts);2481 }2482 }2483 return false;2484}2485function isPipelinePrimaryTopicReference(node, opts) {2486 if (!node) return false;2487 const nodeType = node.type;2488 if (nodeType === "PipelinePrimaryTopicReference") {2489 if (typeof opts === "undefined") {2490 return true;2491 } else {2492 return (0, _shallowEqual.default)(node, opts);2493 }2494 }2495 return false;2496}2497function isTSParameterProperty(node, opts) {2498 if (!node) return false;2499 const nodeType = node.type;2500 if (nodeType === "TSParameterProperty") {2501 if (typeof opts === "undefined") {2502 return true;2503 } else {2504 return (0, _shallowEqual.default)(node, opts);2505 }2506 }2507 return false;2508}2509function isTSDeclareFunction(node, opts) {2510 if (!node) return false;2511 const nodeType = node.type;2512 if (nodeType === "TSDeclareFunction") {2513 if (typeof opts === "undefined") {2514 return true;2515 } else {2516 return (0, _shallowEqual.default)(node, opts);2517 }2518 }2519 return false;2520}2521function isTSDeclareMethod(node, opts) {2522 if (!node) return false;2523 const nodeType = node.type;2524 if (nodeType === "TSDeclareMethod") {2525 if (typeof opts === "undefined") {2526 return true;2527 } else {2528 return (0, _shallowEqual.default)(node, opts);2529 }2530 }2531 return false;2532}2533function isTSQualifiedName(node, opts) {2534 if (!node) return false;2535 const nodeType = node.type;2536 if (nodeType === "TSQualifiedName") {2537 if (typeof opts === "undefined") {2538 return true;2539 } else {2540 return (0, _shallowEqual.default)(node, opts);2541 }2542 }2543 return false;2544}2545function isTSCallSignatureDeclaration(node, opts) {2546 if (!node) return false;2547 const nodeType = node.type;2548 if (nodeType === "TSCallSignatureDeclaration") {2549 if (typeof opts === "undefined") {2550 return true;2551 } else {2552 return (0, _shallowEqual.default)(node, opts);2553 }2554 }2555 return false;2556}2557function isTSConstructSignatureDeclaration(node, opts) {2558 if (!node) return false;2559 const nodeType = node.type;2560 if (nodeType === "TSConstructSignatureDeclaration") {2561 if (typeof opts === "undefined") {2562 return true;2563 } else {2564 return (0, _shallowEqual.default)(node, opts);2565 }2566 }2567 return false;2568}2569function isTSPropertySignature(node, opts) {2570 if (!node) return false;2571 const nodeType = node.type;2572 if (nodeType === "TSPropertySignature") {2573 if (typeof opts === "undefined") {2574 return true;2575 } else {2576 return (0, _shallowEqual.default)(node, opts);2577 }2578 }2579 return false;2580}2581function isTSMethodSignature(node, opts) {2582 if (!node) return false;2583 const nodeType = node.type;2584 if (nodeType === "TSMethodSignature") {2585 if (typeof opts === "undefined") {2586 return true;2587 } else {2588 return (0, _shallowEqual.default)(node, opts);2589 }2590 }2591 return false;2592}2593function isTSIndexSignature(node, opts) {2594 if (!node) return false;2595 const nodeType = node.type;2596 if (nodeType === "TSIndexSignature") {2597 if (typeof opts === "undefined") {2598 return true;2599 } else {2600 return (0, _shallowEqual.default)(node, opts);2601 }2602 }2603 return false;2604}2605function isTSAnyKeyword(node, opts) {2606 if (!node) return false;2607 const nodeType = node.type;2608 if (nodeType === "TSAnyKeyword") {2609 if (typeof opts === "undefined") {2610 return true;2611 } else {2612 return (0, _shallowEqual.default)(node, opts);2613 }2614 }2615 return false;2616}2617function isTSBooleanKeyword(node, opts) {2618 if (!node) return false;2619 const nodeType = node.type;2620 if (nodeType === "TSBooleanKeyword") {2621 if (typeof opts === "undefined") {2622 return true;2623 } else {2624 return (0, _shallowEqual.default)(node, opts);2625 }2626 }2627 return false;2628}2629function isTSBigIntKeyword(node, opts) {2630 if (!node) return false;2631 const nodeType = node.type;2632 if (nodeType === "TSBigIntKeyword") {2633 if (typeof opts === "undefined") {2634 return true;2635 } else {2636 return (0, _shallowEqual.default)(node, opts);2637 }2638 }2639 return false;2640}2641function isTSIntrinsicKeyword(node, opts) {2642 if (!node) return false;2643 const nodeType = node.type;2644 if (nodeType === "TSIntrinsicKeyword") {2645 if (typeof opts === "undefined") {2646 return true;2647 } else {2648 return (0, _shallowEqual.default)(node, opts);2649 }2650 }2651 return false;2652}2653function isTSNeverKeyword(node, opts) {2654 if (!node) return false;2655 const nodeType = node.type;2656 if (nodeType === "TSNeverKeyword") {2657 if (typeof opts === "undefined") {2658 return true;2659 } else {2660 return (0, _shallowEqual.default)(node, opts);2661 }2662 }2663 return false;2664}2665function isTSNullKeyword(node, opts) {2666 if (!node) return false;2667 const nodeType = node.type;2668 if (nodeType === "TSNullKeyword") {2669 if (typeof opts === "undefined") {2670 return true;2671 } else {2672 return (0, _shallowEqual.default)(node, opts);2673 }2674 }2675 return false;2676}2677function isTSNumberKeyword(node, opts) {2678 if (!node) return false;2679 const nodeType = node.type;2680 if (nodeType === "TSNumberKeyword") {2681 if (typeof opts === "undefined") {2682 return true;2683 } else {2684 return (0, _shallowEqual.default)(node, opts);2685 }2686 }2687 return false;2688}2689function isTSObjectKeyword(node, opts) {2690 if (!node) return false;2691 const nodeType = node.type;2692 if (nodeType === "TSObjectKeyword") {2693 if (typeof opts === "undefined") {2694 return true;2695 } else {2696 return (0, _shallowEqual.default)(node, opts);2697 }2698 }2699 return false;2700}2701function isTSStringKeyword(node, opts) {2702 if (!node) return false;2703 const nodeType = node.type;2704 if (nodeType === "TSStringKeyword") {2705 if (typeof opts === "undefined") {2706 return true;2707 } else {2708 return (0, _shallowEqual.default)(node, opts);2709 }2710 }2711 return false;2712}2713function isTSSymbolKeyword(node, opts) {2714 if (!node) return false;2715 const nodeType = node.type;2716 if (nodeType === "TSSymbolKeyword") {2717 if (typeof opts === "undefined") {2718 return true;2719 } else {2720 return (0, _shallowEqual.default)(node, opts);2721 }2722 }2723 return false;2724}2725function isTSUndefinedKeyword(node, opts) {2726 if (!node) return false;2727 const nodeType = node.type;2728 if (nodeType === "TSUndefinedKeyword") {2729 if (typeof opts === "undefined") {2730 return true;2731 } else {2732 return (0, _shallowEqual.default)(node, opts);2733 }2734 }2735 return false;2736}2737function isTSUnknownKeyword(node, opts) {2738 if (!node) return false;2739 const nodeType = node.type;2740 if (nodeType === "TSUnknownKeyword") {2741 if (typeof opts === "undefined") {2742 return true;2743 } else {2744 return (0, _shallowEqual.default)(node, opts);2745 }2746 }2747 return false;2748}2749function isTSVoidKeyword(node, opts) {2750 if (!node) return false;2751 const nodeType = node.type;2752 if (nodeType === "TSVoidKeyword") {2753 if (typeof opts === "undefined") {2754 return true;2755 } else {2756 return (0, _shallowEqual.default)(node, opts);2757 }2758 }2759 return false;2760}2761function isTSThisType(node, opts) {2762 if (!node) return false;2763 const nodeType = node.type;2764 if (nodeType === "TSThisType") {2765 if (typeof opts === "undefined") {2766 return true;2767 } else {2768 return (0, _shallowEqual.default)(node, opts);2769 }2770 }2771 return false;2772}2773function isTSFunctionType(node, opts) {2774 if (!node) return false;2775 const nodeType = node.type;2776 if (nodeType === "TSFunctionType") {2777 if (typeof opts === "undefined") {2778 return true;2779 } else {2780 return (0, _shallowEqual.default)(node, opts);2781 }2782 }2783 return false;2784}2785function isTSConstructorType(node, opts) {2786 if (!node) return false;2787 const nodeType = node.type;2788 if (nodeType === "TSConstructorType") {2789 if (typeof opts === "undefined") {2790 return true;2791 } else {2792 return (0, _shallowEqual.default)(node, opts);2793 }2794 }2795 return false;2796}2797function isTSTypeReference(node, opts) {2798 if (!node) return false;2799 const nodeType = node.type;2800 if (nodeType === "TSTypeReference") {2801 if (typeof opts === "undefined") {2802 return true;2803 } else {2804 return (0, _shallowEqual.default)(node, opts);2805 }2806 }2807 return false;2808}2809function isTSTypePredicate(node, opts) {2810 if (!node) return false;2811 const nodeType = node.type;2812 if (nodeType === "TSTypePredicate") {2813 if (typeof opts === "undefined") {2814 return true;2815 } else {2816 return (0, _shallowEqual.default)(node, opts);2817 }2818 }2819 return false;2820}2821function isTSTypeQuery(node, opts) {2822 if (!node) return false;2823 const nodeType = node.type;2824 if (nodeType === "TSTypeQuery") {2825 if (typeof opts === "undefined") {2826 return true;2827 } else {2828 return (0, _shallowEqual.default)(node, opts);2829 }2830 }2831 return false;2832}2833function isTSTypeLiteral(node, opts) {2834 if (!node) return false;2835 const nodeType = node.type;2836 if (nodeType === "TSTypeLiteral") {2837 if (typeof opts === "undefined") {2838 return true;2839 } else {2840 return (0, _shallowEqual.default)(node, opts);2841 }2842 }2843 return false;2844}2845function isTSArrayType(node, opts) {2846 if (!node) return false;2847 const nodeType = node.type;2848 if (nodeType === "TSArrayType") {2849 if (typeof opts === "undefined") {2850 return true;2851 } else {2852 return (0, _shallowEqual.default)(node, opts);2853 }2854 }2855 return false;2856}2857function isTSTupleType(node, opts) {2858 if (!node) return false;2859 const nodeType = node.type;2860 if (nodeType === "TSTupleType") {2861 if (typeof opts === "undefined") {2862 return true;2863 } else {2864 return (0, _shallowEqual.default)(node, opts);2865 }2866 }2867 return false;2868}2869function isTSOptionalType(node, opts) {2870 if (!node) return false;2871 const nodeType = node.type;2872 if (nodeType === "TSOptionalType") {2873 if (typeof opts === "undefined") {2874 return true;2875 } else {2876 return (0, _shallowEqual.default)(node, opts);2877 }2878 }2879 return false;2880}2881function isTSRestType(node, opts) {2882 if (!node) return false;2883 const nodeType = node.type;2884 if (nodeType === "TSRestType") {2885 if (typeof opts === "undefined") {2886 return true;2887 } else {2888 return (0, _shallowEqual.default)(node, opts);2889 }2890 }2891 return false;2892}2893function isTSNamedTupleMember(node, opts) {2894 if (!node) return false;2895 const nodeType = node.type;2896 if (nodeType === "TSNamedTupleMember") {2897 if (typeof opts === "undefined") {2898 return true;2899 } else {2900 return (0, _shallowEqual.default)(node, opts);2901 }2902 }2903 return false;2904}2905function isTSUnionType(node, opts) {2906 if (!node) return false;2907 const nodeType = node.type;2908 if (nodeType === "TSUnionType") {2909 if (typeof opts === "undefined") {2910 return true;2911 } else {2912 return (0, _shallowEqual.default)(node, opts);2913 }2914 }2915 return false;2916}2917function isTSIntersectionType(node, opts) {2918 if (!node) return false;2919 const nodeType = node.type;2920 if (nodeType === "TSIntersectionType") {2921 if (typeof opts === "undefined") {2922 return true;2923 } else {2924 return (0, _shallowEqual.default)(node, opts);2925 }2926 }2927 return false;2928}2929function isTSConditionalType(node, opts) {2930 if (!node) return false;2931 const nodeType = node.type;2932 if (nodeType === "TSConditionalType") {2933 if (typeof opts === "undefined") {2934 return true;2935 } else {2936 return (0, _shallowEqual.default)(node, opts);2937 }2938 }2939 return false;2940}2941function isTSInferType(node, opts) {2942 if (!node) return false;2943 const nodeType = node.type;2944 if (nodeType === "TSInferType") {2945 if (typeof opts === "undefined") {2946 return true;2947 } else {2948 return (0, _shallowEqual.default)(node, opts);2949 }2950 }2951 return false;2952}2953function isTSParenthesizedType(node, opts) {2954 if (!node) return false;2955 const nodeType = node.type;2956 if (nodeType === "TSParenthesizedType") {2957 if (typeof opts === "undefined") {2958 return true;2959 } else {2960 return (0, _shallowEqual.default)(node, opts);2961 }2962 }2963 return false;2964}2965function isTSTypeOperator(node, opts) {2966 if (!node) return false;2967 const nodeType = node.type;2968 if (nodeType === "TSTypeOperator") {2969 if (typeof opts === "undefined") {2970 return true;2971 } else {2972 return (0, _shallowEqual.default)(node, opts);2973 }2974 }2975 return false;2976}2977function isTSIndexedAccessType(node, opts) {2978 if (!node) return false;2979 const nodeType = node.type;2980 if (nodeType === "TSIndexedAccessType") {2981 if (typeof opts === "undefined") {2982 return true;2983 } else {2984 return (0, _shallowEqual.default)(node, opts);2985 }2986 }2987 return false;2988}2989function isTSMappedType(node, opts) {2990 if (!node) return false;2991 const nodeType = node.type;2992 if (nodeType === "TSMappedType") {2993 if (typeof opts === "undefined") {2994 return true;2995 } else {2996 return (0, _shallowEqual.default)(node, opts);2997 }2998 }2999 return false;3000}3001function isTSLiteralType(node, opts) {3002 if (!node) return false;3003 const nodeType = node.type;3004 if (nodeType === "TSLiteralType") {3005 if (typeof opts === "undefined") {3006 return true;3007 } else {3008 return (0, _shallowEqual.default)(node, opts);3009 }3010 }3011 return false;3012}3013function isTSExpressionWithTypeArguments(node, opts) {3014 if (!node) return false;3015 const nodeType = node.type;3016 if (nodeType === "TSExpressionWithTypeArguments") {3017 if (typeof opts === "undefined") {3018 return true;3019 } else {3020 return (0, _shallowEqual.default)(node, opts);3021 }3022 }3023 return false;3024}3025function isTSInterfaceDeclaration(node, opts) {3026 if (!node) return false;3027 const nodeType = node.type;3028 if (nodeType === "TSInterfaceDeclaration") {3029 if (typeof opts === "undefined") {3030 return true;3031 } else {3032 return (0, _shallowEqual.default)(node, opts);3033 }3034 }3035 return false;3036}3037function isTSInterfaceBody(node, opts) {3038 if (!node) return false;3039 const nodeType = node.type;3040 if (nodeType === "TSInterfaceBody") {3041 if (typeof opts === "undefined") {3042 return true;3043 } else {3044 return (0, _shallowEqual.default)(node, opts);3045 }3046 }3047 return false;3048}3049function isTSTypeAliasDeclaration(node, opts) {3050 if (!node) return false;3051 const nodeType = node.type;3052 if (nodeType === "TSTypeAliasDeclaration") {3053 if (typeof opts === "undefined") {3054 return true;3055 } else {3056 return (0, _shallowEqual.default)(node, opts);3057 }3058 }3059 return false;3060}3061function isTSAsExpression(node, opts) {3062 if (!node) return false;3063 const nodeType = node.type;3064 if (nodeType === "TSAsExpression") {3065 if (typeof opts === "undefined") {3066 return true;3067 } else {3068 return (0, _shallowEqual.default)(node, opts);3069 }3070 }3071 return false;3072}3073function isTSTypeAssertion(node, opts) {3074 if (!node) return false;3075 const nodeType = node.type;3076 if (nodeType === "TSTypeAssertion") {3077 if (typeof opts === "undefined") {3078 return true;3079 } else {3080 return (0, _shallowEqual.default)(node, opts);3081 }3082 }3083 return false;3084}3085function isTSEnumDeclaration(node, opts) {3086 if (!node) return false;3087 const nodeType = node.type;3088 if (nodeType === "TSEnumDeclaration") {3089 if (typeof opts === "undefined") {3090 return true;3091 } else {3092 return (0, _shallowEqual.default)(node, opts);3093 }3094 }3095 return false;3096}3097function isTSEnumMember(node, opts) {3098 if (!node) return false;3099 const nodeType = node.type;3100 if (nodeType === "TSEnumMember") {3101 if (typeof opts === "undefined") {3102 return true;3103 } else {3104 return (0, _shallowEqual.default)(node, opts);3105 }3106 }3107 return false;3108}3109function isTSModuleDeclaration(node, opts) {3110 if (!node) return false;3111 const nodeType = node.type;3112 if (nodeType === "TSModuleDeclaration") {3113 if (typeof opts === "undefined") {3114 return true;3115 } else {3116 return (0, _shallowEqual.default)(node, opts);3117 }3118 }3119 return false;3120}3121function isTSModuleBlock(node, opts) {3122 if (!node) return false;3123 const nodeType = node.type;3124 if (nodeType === "TSModuleBlock") {3125 if (typeof opts === "undefined") {3126 return true;3127 } else {3128 return (0, _shallowEqual.default)(node, opts);3129 }3130 }3131 return false;3132}3133function isTSImportType(node, opts) {3134 if (!node) return false;3135 const nodeType = node.type;3136 if (nodeType === "TSImportType") {3137 if (typeof opts === "undefined") {3138 return true;3139 } else {3140 return (0, _shallowEqual.default)(node, opts);3141 }3142 }3143 return false;3144}3145function isTSImportEqualsDeclaration(node, opts) {3146 if (!node) return false;3147 const nodeType = node.type;3148 if (nodeType === "TSImportEqualsDeclaration") {3149 if (typeof opts === "undefined") {3150 return true;3151 } else {3152 return (0, _shallowEqual.default)(node, opts);3153 }3154 }3155 return false;3156}3157function isTSExternalModuleReference(node, opts) {3158 if (!node) return false;3159 const nodeType = node.type;3160 if (nodeType === "TSExternalModuleReference") {3161 if (typeof opts === "undefined") {3162 return true;3163 } else {3164 return (0, _shallowEqual.default)(node, opts);3165 }3166 }3167 return false;3168}3169function isTSNonNullExpression(node, opts) {3170 if (!node) return false;3171 const nodeType = node.type;3172 if (nodeType === "TSNonNullExpression") {3173 if (typeof opts === "undefined") {3174 return true;3175 } else {3176 return (0, _shallowEqual.default)(node, opts);3177 }3178 }3179 return false;3180}3181function isTSExportAssignment(node, opts) {3182 if (!node) return false;3183 const nodeType = node.type;3184 if (nodeType === "TSExportAssignment") {3185 if (typeof opts === "undefined") {3186 return true;3187 } else {3188 return (0, _shallowEqual.default)(node, opts);3189 }3190 }3191 return false;3192}3193function isTSNamespaceExportDeclaration(node, opts) {3194 if (!node) return false;3195 const nodeType = node.type;3196 if (nodeType === "TSNamespaceExportDeclaration") {3197 if (typeof opts === "undefined") {3198 return true;3199 } else {3200 return (0, _shallowEqual.default)(node, opts);3201 }3202 }3203 return false;3204}3205function isTSTypeAnnotation(node, opts) {3206 if (!node) return false;3207 const nodeType = node.type;3208 if (nodeType === "TSTypeAnnotation") {3209 if (typeof opts === "undefined") {3210 return true;3211 } else {3212 return (0, _shallowEqual.default)(node, opts);3213 }3214 }3215 return false;3216}3217function isTSTypeParameterInstantiation(node, opts) {3218 if (!node) return false;3219 const nodeType = node.type;3220 if (nodeType === "TSTypeParameterInstantiation") {3221 if (typeof opts === "undefined") {3222 return true;3223 } else {3224 return (0, _shallowEqual.default)(node, opts);3225 }3226 }3227 return false;3228}3229function isTSTypeParameterDeclaration(node, opts) {3230 if (!node) return false;3231 const nodeType = node.type;3232 if (nodeType === "TSTypeParameterDeclaration") {3233 if (typeof opts === "undefined") {3234 return true;3235 } else {3236 return (0, _shallowEqual.default)(node, opts);3237 }3238 }3239 return false;3240}3241function isTSTypeParameter(node, opts) {3242 if (!node) return false;3243 const nodeType = node.type;3244 if (nodeType === "TSTypeParameter") {3245 if (typeof opts === "undefined") {3246 return true;3247 } else {3248 return (0, _shallowEqual.default)(node, opts);3249 }3250 }3251 return false;3252}3253function isExpression(node, opts) {3254 if (!node) return false;3255 const nodeType = node.type;3256 if ("ArrayExpression" === nodeType || "AssignmentExpression" === nodeType || "BinaryExpression" === nodeType || "CallExpression" === nodeType || "ConditionalExpression" === nodeType || "FunctionExpression" === nodeType || "Identifier" === nodeType || "StringLiteral" === nodeType || "NumericLiteral" === nodeType || "NullLiteral" === nodeType || "BooleanLiteral" === nodeType || "RegExpLiteral" === nodeType || "LogicalExpression" === nodeType || "MemberExpression" === nodeType || "NewExpression" === nodeType || "ObjectExpression" === nodeType || "SequenceExpression" === nodeType || "ParenthesizedExpression" === nodeType || "ThisExpression" === nodeType || "UnaryExpression" === nodeType || "UpdateExpression" === nodeType || "ArrowFunctionExpression" === nodeType || "ClassExpression" === nodeType || "MetaProperty" === nodeType || "Super" === nodeType || "TaggedTemplateExpression" === nodeType || "TemplateLiteral" === nodeType || "YieldExpression" === nodeType || "AwaitExpression" === nodeType || "Import" === nodeType || "BigIntLiteral" === nodeType || "OptionalMemberExpression" === nodeType || "OptionalCallExpression" === nodeType || "TypeCastExpression" === nodeType || "JSXElement" === nodeType || "JSXFragment" === nodeType || "BindExpression" === nodeType || "DoExpression" === nodeType || "RecordExpression" === nodeType || "TupleExpression" === nodeType || "DecimalLiteral" === nodeType || "ModuleExpression" === nodeType || "TopicReference" === nodeType || "PipelineTopicExpression" === nodeType || "PipelineBareFunction" === nodeType || "PipelinePrimaryTopicReference" === nodeType || "TSAsExpression" === nodeType || "TSTypeAssertion" === nodeType || "TSNonNullExpression" === nodeType || nodeType === "Placeholder" && ("Expression" === node.expectedNode || "Identifier" === node.expectedNode || "StringLiteral" === node.expectedNode)) {3257 if (typeof opts === "undefined") {3258 return true;3259 } else {3260 return (0, _shallowEqual.default)(node, opts);3261 }3262 }3263 return false;3264}3265function isBinary(node, opts) {3266 if (!node) return false;3267 const nodeType = node.type;3268 if ("BinaryExpression" === nodeType || "LogicalExpression" === nodeType) {3269 if (typeof opts === "undefined") {3270 return true;3271 } else {3272 return (0, _shallowEqual.default)(node, opts);3273 }3274 }3275 return false;3276}3277function isScopable(node, opts) {3278 if (!node) return false;3279 const nodeType = node.type;3280 if ("BlockStatement" === nodeType || "CatchClause" === nodeType || "DoWhileStatement" === nodeType || "ForInStatement" === nodeType || "ForStatement" === nodeType || "FunctionDeclaration" === nodeType || "FunctionExpression" === nodeType || "Program" === nodeType || "ObjectMethod" === nodeType || "SwitchStatement" === nodeType || "WhileStatement" === nodeType || "ArrowFunctionExpression" === nodeType || "ClassExpression" === nodeType || "ClassDeclaration" === nodeType || "ForOfStatement" === nodeType || "ClassMethod" === nodeType || "ClassPrivateMethod" === nodeType || "StaticBlock" === nodeType || "TSModuleBlock" === nodeType || nodeType === "Placeholder" && "BlockStatement" === node.expectedNode) {3281 if (typeof opts === "undefined") {3282 return true;3283 } else {3284 return (0, _shallowEqual.default)(node, opts);3285 }3286 }3287 return false;3288}3289function isBlockParent(node, opts) {3290 if (!node) return false;3291 const nodeType = node.type;3292 if ("BlockStatement" === nodeType || "CatchClause" === nodeType || "DoWhileStatement" === nodeType || "ForInStatement" === nodeType || "ForStatement" === nodeType || "FunctionDeclaration" === nodeType || "FunctionExpression" === nodeType || "Program" === nodeType || "ObjectMethod" === nodeType || "SwitchStatement" === nodeType || "WhileStatement" === nodeType || "ArrowFunctionExpression" === nodeType || "ForOfStatement" === nodeType || "ClassMethod" === nodeType || "ClassPrivateMethod" === nodeType || "StaticBlock" === nodeType || "TSModuleBlock" === nodeType || nodeType === "Placeholder" && "BlockStatement" === node.expectedNode) {3293 if (typeof opts === "undefined") {3294 return true;3295 } else {3296 return (0, _shallowEqual.default)(node, opts);3297 }3298 }3299 return false;3300}3301function isBlock(node, opts) {3302 if (!node) return false;3303 const nodeType = node.type;3304 if ("BlockStatement" === nodeType || "Program" === nodeType || "TSModuleBlock" === nodeType || nodeType === "Placeholder" && "BlockStatement" === node.expectedNode) {3305 if (typeof opts === "undefined") {3306 return true;3307 } else {3308 return (0, _shallowEqual.default)(node, opts);3309 }3310 }3311 return false;3312}3313function isStatement(node, opts) {3314 if (!node) return false;3315 const nodeType = node.type;3316 if ("BlockStatement" === nodeType || "BreakStatement" === nodeType || "ContinueStatement" === nodeType || "DebuggerStatement" === nodeType || "DoWhileStatement" === nodeType || "EmptyStatement" === nodeType || "ExpressionStatement" === nodeType || "ForInStatement" === nodeType || "ForStatement" === nodeType || "FunctionDeclaration" === nodeType || "IfStatement" === nodeType || "LabeledStatement" === nodeType || "ReturnStatement" === nodeType || "SwitchStatement" === nodeType || "ThrowStatement" === nodeType || "TryStatement" === nodeType || "VariableDeclaration" === nodeType || "WhileStatement" === nodeType || "WithStatement" === nodeType || "ClassDeclaration" === nodeType || "ExportAllDeclaration" === nodeType || "ExportDefaultDeclaration" === nodeType || "ExportNamedDeclaration" === nodeType || "ForOfStatement" === nodeType || "ImportDeclaration" === nodeType || "DeclareClass" === nodeType || "DeclareFunction" === nodeType || "DeclareInterface" === nodeType || "DeclareModule" === nodeType || "DeclareModuleExports" === nodeType || "DeclareTypeAlias" === nodeType || "DeclareOpaqueType" === nodeType || "DeclareVariable" === nodeType || "DeclareExportDeclaration" === nodeType || "DeclareExportAllDeclaration" === nodeType || "InterfaceDeclaration" === nodeType || "OpaqueType" === nodeType || "TypeAlias" === nodeType || "EnumDeclaration" === nodeType || "TSDeclareFunction" === nodeType || "TSInterfaceDeclaration" === nodeType || "TSTypeAliasDeclaration" === nodeType || "TSEnumDeclaration" === nodeType || "TSModuleDeclaration" === nodeType || "TSImportEqualsDeclaration" === nodeType || "TSExportAssignment" === nodeType || "TSNamespaceExportDeclaration" === nodeType || nodeType === "Placeholder" && ("Statement" === node.expectedNode || "Declaration" === node.expectedNode || "BlockStatement" === node.expectedNode)) {3317 if (typeof opts === "undefined") {3318 return true;3319 } else {3320 return (0, _shallowEqual.default)(node, opts);3321 }3322 }3323 return false;3324}3325function isTerminatorless(node, opts) {3326 if (!node) return false;3327 const nodeType = node.type;3328 if ("BreakStatement" === nodeType || "ContinueStatement" === nodeType || "ReturnStatement" === nodeType || "ThrowStatement" === nodeType || "YieldExpression" === nodeType || "AwaitExpression" === nodeType) {3329 if (typeof opts === "undefined") {3330 return true;3331 } else {3332 return (0, _shallowEqual.default)(node, opts);3333 }3334 }3335 return false;3336}3337function isCompletionStatement(node, opts) {3338 if (!node) return false;3339 const nodeType = node.type;3340 if ("BreakStatement" === nodeType || "ContinueStatement" === nodeType || "ReturnStatement" === nodeType || "ThrowStatement" === nodeType) {3341 if (typeof opts === "undefined") {3342 return true;3343 } else {3344 return (0, _shallowEqual.default)(node, opts);3345 }3346 }3347 return false;3348}3349function isConditional(node, opts) {3350 if (!node) return false;3351 const nodeType = node.type;3352 if ("ConditionalExpression" === nodeType || "IfStatement" === nodeType) {3353 if (typeof opts === "undefined") {3354 return true;3355 } else {3356 return (0, _shallowEqual.default)(node, opts);3357 }3358 }3359 return false;3360}3361function isLoop(node, opts) {3362 if (!node) return false;3363 const nodeType = node.type;3364 if ("DoWhileStatement" === nodeType || "ForInStatement" === nodeType || "ForStatement" === nodeType || "WhileStatement" === nodeType || "ForOfStatement" === nodeType) {3365 if (typeof opts === "undefined") {3366 return true;3367 } else {3368 return (0, _shallowEqual.default)(node, opts);3369 }3370 }3371 return false;3372}3373function isWhile(node, opts) {3374 if (!node) return false;3375 const nodeType = node.type;3376 if ("DoWhileStatement" === nodeType || "WhileStatement" === nodeType) {3377 if (typeof opts === "undefined") {3378 return true;3379 } else {3380 return (0, _shallowEqual.default)(node, opts);3381 }3382 }3383 return false;3384}3385function isExpressionWrapper(node, opts) {3386 if (!node) return false;3387 const nodeType = node.type;3388 if ("ExpressionStatement" === nodeType || "ParenthesizedExpression" === nodeType || "TypeCastExpression" === nodeType) {3389 if (typeof opts === "undefined") {3390 return true;3391 } else {3392 return (0, _shallowEqual.default)(node, opts);3393 }3394 }3395 return false;3396}3397function isFor(node, opts) {3398 if (!node) return false;3399 const nodeType = node.type;3400 if ("ForInStatement" === nodeType || "ForStatement" === nodeType || "ForOfStatement" === nodeType) {3401 if (typeof opts === "undefined") {3402 return true;3403 } else {3404 return (0, _shallowEqual.default)(node, opts);3405 }3406 }3407 return false;3408}3409function isForXStatement(node, opts) {3410 if (!node) return false;3411 const nodeType = node.type;3412 if ("ForInStatement" === nodeType || "ForOfStatement" === nodeType) {3413 if (typeof opts === "undefined") {3414 return true;3415 } else {3416 return (0, _shallowEqual.default)(node, opts);3417 }3418 }3419 return false;3420}3421function isFunction(node, opts) {3422 if (!node) return false;3423 const nodeType = node.type;3424 if ("FunctionDeclaration" === nodeType || "FunctionExpression" === nodeType || "ObjectMethod" === nodeType || "ArrowFunctionExpression" === nodeType || "ClassMethod" === nodeType || "ClassPrivateMethod" === nodeType) {3425 if (typeof opts === "undefined") {3426 return true;3427 } else {3428 return (0, _shallowEqual.default)(node, opts);3429 }3430 }3431 return false;3432}3433function isFunctionParent(node, opts) {3434 if (!node) return false;3435 const nodeType = node.type;3436 if ("FunctionDeclaration" === nodeType || "FunctionExpression" === nodeType || "ObjectMethod" === nodeType || "ArrowFunctionExpression" === nodeType || "ClassMethod" === nodeType || "ClassPrivateMethod" === nodeType) {3437 if (typeof opts === "undefined") {3438 return true;3439 } else {3440 return (0, _shallowEqual.default)(node, opts);3441 }3442 }3443 return false;3444}3445function isPureish(node, opts) {3446 if (!node) return false;3447 const nodeType = node.type;3448 if ("FunctionDeclaration" === nodeType || "FunctionExpression" === nodeType || "StringLiteral" === nodeType || "NumericLiteral" === nodeType || "NullLiteral" === nodeType || "BooleanLiteral" === nodeType || "RegExpLiteral" === nodeType || "ArrowFunctionExpression" === nodeType || "BigIntLiteral" === nodeType || "DecimalLiteral" === nodeType || nodeType === "Placeholder" && "StringLiteral" === node.expectedNode) {3449 if (typeof opts === "undefined") {3450 return true;3451 } else {3452 return (0, _shallowEqual.default)(node, opts);3453 }3454 }3455 return false;3456}3457function isDeclaration(node, opts) {3458 if (!node) return false;3459 const nodeType = node.type;3460 if ("FunctionDeclaration" === nodeType || "VariableDeclaration" === nodeType || "ClassDeclaration" === nodeType || "ExportAllDeclaration" === nodeType || "ExportDefaultDeclaration" === nodeType || "ExportNamedDeclaration" === nodeType || "ImportDeclaration" === nodeType || "DeclareClass" === nodeType || "DeclareFunction" === nodeType || "DeclareInterface" === nodeType || "DeclareModule" === nodeType || "DeclareModuleExports" === nodeType || "DeclareTypeAlias" === nodeType || "DeclareOpaqueType" === nodeType || "DeclareVariable" === nodeType || "DeclareExportDeclaration" === nodeType || "DeclareExportAllDeclaration" === nodeType || "InterfaceDeclaration" === nodeType || "OpaqueType" === nodeType || "TypeAlias" === nodeType || "EnumDeclaration" === nodeType || "TSDeclareFunction" === nodeType || "TSInterfaceDeclaration" === nodeType || "TSTypeAliasDeclaration" === nodeType || "TSEnumDeclaration" === nodeType || "TSModuleDeclaration" === nodeType || nodeType === "Placeholder" && "Declaration" === node.expectedNode) {3461 if (typeof opts === "undefined") {3462 return true;3463 } else {3464 return (0, _shallowEqual.default)(node, opts);3465 }3466 }3467 return false;3468}3469function isPatternLike(node, opts) {3470 if (!node) return false;3471 const nodeType = node.type;3472 if ("Identifier" === nodeType || "RestElement" === nodeType || "AssignmentPattern" === nodeType || "ArrayPattern" === nodeType || "ObjectPattern" === nodeType || nodeType === "Placeholder" && ("Pattern" === node.expectedNode || "Identifier" === node.expectedNode)) {3473 if (typeof opts === "undefined") {3474 return true;3475 } else {3476 return (0, _shallowEqual.default)(node, opts);3477 }3478 }3479 return false;3480}3481function isLVal(node, opts) {3482 if (!node) return false;3483 const nodeType = node.type;3484 if ("Identifier" === nodeType || "MemberExpression" === nodeType || "RestElement" === nodeType || "AssignmentPattern" === nodeType || "ArrayPattern" === nodeType || "ObjectPattern" === nodeType || "TSParameterProperty" === nodeType || nodeType === "Placeholder" && ("Pattern" === node.expectedNode || "Identifier" === node.expectedNode)) {3485 if (typeof opts === "undefined") {3486 return true;3487 } else {3488 return (0, _shallowEqual.default)(node, opts);3489 }3490 }3491 return false;3492}3493function isTSEntityName(node, opts) {3494 if (!node) return false;3495 const nodeType = node.type;3496 if ("Identifier" === nodeType || "TSQualifiedName" === nodeType || nodeType === "Placeholder" && "Identifier" === node.expectedNode) {3497 if (typeof opts === "undefined") {3498 return true;3499 } else {3500 return (0, _shallowEqual.default)(node, opts);3501 }3502 }3503 return false;3504}3505function isLiteral(node, opts) {3506 if (!node) return false;3507 const nodeType = node.type;3508 if ("StringLiteral" === nodeType || "NumericLiteral" === nodeType || "NullLiteral" === nodeType || "BooleanLiteral" === nodeType || "RegExpLiteral" === nodeType || "TemplateLiteral" === nodeType || "BigIntLiteral" === nodeType || "DecimalLiteral" === nodeType || nodeType === "Placeholder" && "StringLiteral" === node.expectedNode) {3509 if (typeof opts === "undefined") {3510 return true;3511 } else {3512 return (0, _shallowEqual.default)(node, opts);3513 }3514 }3515 return false;3516}3517function isImmutable(node, opts) {3518 if (!node) return false;3519 const nodeType = node.type;3520 if ("StringLiteral" === nodeType || "NumericLiteral" === nodeType || "NullLiteral" === nodeType || "BooleanLiteral" === nodeType || "BigIntLiteral" === nodeType || "JSXAttribute" === nodeType || "JSXClosingElement" === nodeType || "JSXElement" === nodeType || "JSXExpressionContainer" === nodeType || "JSXSpreadChild" === nodeType || "JSXOpeningElement" === nodeType || "JSXText" === nodeType || "JSXFragment" === nodeType || "JSXOpeningFragment" === nodeType || "JSXClosingFragment" === nodeType || "DecimalLiteral" === nodeType || nodeType === "Placeholder" && "StringLiteral" === node.expectedNode) {3521 if (typeof opts === "undefined") {3522 return true;3523 } else {3524 return (0, _shallowEqual.default)(node, opts);3525 }3526 }3527 return false;3528}3529function isUserWhitespacable(node, opts) {3530 if (!node) return false;3531 const nodeType = node.type;3532 if ("ObjectMethod" === nodeType || "ObjectProperty" === nodeType || "ObjectTypeInternalSlot" === nodeType || "ObjectTypeCallProperty" === nodeType || "ObjectTypeIndexer" === nodeType || "ObjectTypeProperty" === nodeType || "ObjectTypeSpreadProperty" === nodeType) {3533 if (typeof opts === "undefined") {3534 return true;3535 } else {3536 return (0, _shallowEqual.default)(node, opts);3537 }3538 }3539 return false;3540}3541function isMethod(node, opts) {3542 if (!node) return false;3543 const nodeType = node.type;3544 if ("ObjectMethod" === nodeType || "ClassMethod" === nodeType || "ClassPrivateMethod" === nodeType) {3545 if (typeof opts === "undefined") {3546 return true;3547 } else {3548 return (0, _shallowEqual.default)(node, opts);3549 }3550 }3551 return false;3552}3553function isObjectMember(node, opts) {3554 if (!node) return false;3555 const nodeType = node.type;3556 if ("ObjectMethod" === nodeType || "ObjectProperty" === nodeType) {3557 if (typeof opts === "undefined") {3558 return true;3559 } else {3560 return (0, _shallowEqual.default)(node, opts);3561 }3562 }3563 return false;3564}3565function isProperty(node, opts) {3566 if (!node) return false;3567 const nodeType = node.type;3568 if ("ObjectProperty" === nodeType || "ClassProperty" === nodeType || "ClassPrivateProperty" === nodeType) {3569 if (typeof opts === "undefined") {3570 return true;3571 } else {3572 return (0, _shallowEqual.default)(node, opts);3573 }3574 }3575 return false;3576}3577function isUnaryLike(node, opts) {3578 if (!node) return false;3579 const nodeType = node.type;3580 if ("UnaryExpression" === nodeType || "SpreadElement" === nodeType) {3581 if (typeof opts === "undefined") {3582 return true;3583 } else {3584 return (0, _shallowEqual.default)(node, opts);3585 }3586 }3587 return false;3588}3589function isPattern(node, opts) {3590 if (!node) return false;3591 const nodeType = node.type;3592 if ("AssignmentPattern" === nodeType || "ArrayPattern" === nodeType || "ObjectPattern" === nodeType || nodeType === "Placeholder" && "Pattern" === node.expectedNode) {3593 if (typeof opts === "undefined") {3594 return true;3595 } else {3596 return (0, _shallowEqual.default)(node, opts);3597 }3598 }3599 return false;3600}3601function isClass(node, opts) {3602 if (!node) return false;3603 const nodeType = node.type;3604 if ("ClassExpression" === nodeType || "ClassDeclaration" === nodeType) {3605 if (typeof opts === "undefined") {3606 return true;3607 } else {3608 return (0, _shallowEqual.default)(node, opts);3609 }3610 }3611 return false;3612}3613function isModuleDeclaration(node, opts) {3614 if (!node) return false;3615 const nodeType = node.type;3616 if ("ExportAllDeclaration" === nodeType || "ExportDefaultDeclaration" === nodeType || "ExportNamedDeclaration" === nodeType || "ImportDeclaration" === nodeType) {3617 if (typeof opts === "undefined") {3618 return true;3619 } else {3620 return (0, _shallowEqual.default)(node, opts);3621 }3622 }3623 return false;3624}3625function isExportDeclaration(node, opts) {3626 if (!node) return false;3627 const nodeType = node.type;3628 if ("ExportAllDeclaration" === nodeType || "ExportDefaultDeclaration" === nodeType || "ExportNamedDeclaration" === nodeType) {3629 if (typeof opts === "undefined") {3630 return true;3631 } else {3632 return (0, _shallowEqual.default)(node, opts);3633 }3634 }3635 return false;3636}3637function isModuleSpecifier(node, opts) {3638 if (!node) return false;3639 const nodeType = node.type;3640 if ("ExportSpecifier" === nodeType || "ImportDefaultSpecifier" === nodeType || "ImportNamespaceSpecifier" === nodeType || "ImportSpecifier" === nodeType || "ExportNamespaceSpecifier" === nodeType || "ExportDefaultSpecifier" === nodeType) {3641 if (typeof opts === "undefined") {3642 return true;3643 } else {3644 return (0, _shallowEqual.default)(node, opts);3645 }3646 }3647 return false;3648}3649function isPrivate(node, opts) {3650 if (!node) return false;3651 const nodeType = node.type;3652 if ("ClassPrivateProperty" === nodeType || "ClassPrivateMethod" === nodeType || "PrivateName" === nodeType) {3653 if (typeof opts === "undefined") {3654 return true;3655 } else {3656 return (0, _shallowEqual.default)(node, opts);3657 }3658 }3659 return false;3660}3661function isFlow(node, opts) {3662 if (!node) return false;3663 const nodeType = node.type;3664 if ("AnyTypeAnnotation" === nodeType || "ArrayTypeAnnotation" === nodeType || "BooleanTypeAnnotation" === nodeType || "BooleanLiteralTypeAnnotation" === nodeType || "NullLiteralTypeAnnotation" === nodeType || "ClassImplements" === nodeType || "DeclareClass" === nodeType || "DeclareFunction" === nodeType || "DeclareInterface" === nodeType || "DeclareModule" === nodeType || "DeclareModuleExports" === nodeType || "DeclareTypeAlias" === nodeType || "DeclareOpaqueType" === nodeType || "DeclareVariable" === nodeType || "DeclareExportDeclaration" === nodeType || "DeclareExportAllDeclaration" === nodeType || "DeclaredPredicate" === nodeType || "ExistsTypeAnnotation" === nodeType || "FunctionTypeAnnotation" === nodeType || "FunctionTypeParam" === nodeType || "GenericTypeAnnotation" === nodeType || "InferredPredicate" === nodeType || "InterfaceExtends" === nodeType || "InterfaceDeclaration" === nodeType || "InterfaceTypeAnnotation" === nodeType || "IntersectionTypeAnnotation" === nodeType || "MixedTypeAnnotation" === nodeType || "EmptyTypeAnnotation" === nodeType || "NullableTypeAnnotation" === nodeType || "NumberLiteralTypeAnnotation" === nodeType || "NumberTypeAnnotation" === nodeType || "ObjectTypeAnnotation" === nodeType || "ObjectTypeInternalSlot" === nodeType || "ObjectTypeCallProperty" === nodeType || "ObjectTypeIndexer" === nodeType || "ObjectTypeProperty" === nodeType || "ObjectTypeSpreadProperty" === nodeType || "OpaqueType" === nodeType || "QualifiedTypeIdentifier" === nodeType || "StringLiteralTypeAnnotation" === nodeType || "StringTypeAnnotation" === nodeType || "SymbolTypeAnnotation" === nodeType || "ThisTypeAnnotation" === nodeType || "TupleTypeAnnotation" === nodeType || "TypeofTypeAnnotation" === nodeType || "TypeAlias" === nodeType || "TypeAnnotation" === nodeType || "TypeCastExpression" === nodeType || "TypeParameter" === nodeType || "TypeParameterDeclaration" === nodeType || "TypeParameterInstantiation" === nodeType || "UnionTypeAnnotation" === nodeType || "Variance" === nodeType || "VoidTypeAnnotation" === nodeType || "IndexedAccessType" === nodeType || "OptionalIndexedAccessType" === nodeType) {3665 if (typeof opts === "undefined") {3666 return true;3667 } else {3668 return (0, _shallowEqual.default)(node, opts);3669 }3670 }3671 return false;3672}3673function isFlowType(node, opts) {3674 if (!node) return false;3675 const nodeType = node.type;3676 if ("AnyTypeAnnotation" === nodeType || "ArrayTypeAnnotation" === nodeType || "BooleanTypeAnnotation" === nodeType || "BooleanLiteralTypeAnnotation" === nodeType || "NullLiteralTypeAnnotation" === nodeType || "ExistsTypeAnnotation" === nodeType || "FunctionTypeAnnotation" === nodeType || "GenericTypeAnnotation" === nodeType || "InterfaceTypeAnnotation" === nodeType || "IntersectionTypeAnnotation" === nodeType || "MixedTypeAnnotation" === nodeType || "EmptyTypeAnnotation" === nodeType || "NullableTypeAnnotation" === nodeType || "NumberLiteralTypeAnnotation" === nodeType || "NumberTypeAnnotation" === nodeType || "ObjectTypeAnnotation" === nodeType || "StringLiteralTypeAnnotation" === nodeType || "StringTypeAnnotation" === nodeType || "SymbolTypeAnnotation" === nodeType || "ThisTypeAnnotation" === nodeType || "TupleTypeAnnotation" === nodeType || "TypeofTypeAnnotation" === nodeType || "UnionTypeAnnotation" === nodeType || "VoidTypeAnnotation" === nodeType || "IndexedAccessType" === nodeType || "OptionalIndexedAccessType" === nodeType) {3677 if (typeof opts === "undefined") {3678 return true;3679 } else {3680 return (0, _shallowEqual.default)(node, opts);3681 }3682 }3683 return false;3684}3685function isFlowBaseAnnotation(node, opts) {3686 if (!node) return false;3687 const nodeType = node.type;3688 if ("AnyTypeAnnotation" === nodeType || "BooleanTypeAnnotation" === nodeType || "NullLiteralTypeAnnotation" === nodeType || "MixedTypeAnnotation" === nodeType || "EmptyTypeAnnotation" === nodeType || "NumberTypeAnnotation" === nodeType || "StringTypeAnnotation" === nodeType || "SymbolTypeAnnotation" === nodeType || "ThisTypeAnnotation" === nodeType || "VoidTypeAnnotation" === nodeType) {3689 if (typeof opts === "undefined") {3690 return true;3691 } else {3692 return (0, _shallowEqual.default)(node, opts);3693 }3694 }3695 return false;3696}3697function isFlowDeclaration(node, opts) {3698 if (!node) return false;3699 const nodeType = node.type;3700 if ("DeclareClass" === nodeType || "DeclareFunction" === nodeType || "DeclareInterface" === nodeType || "DeclareModule" === nodeType || "DeclareModuleExports" === nodeType || "DeclareTypeAlias" === nodeType || "DeclareOpaqueType" === nodeType || "DeclareVariable" === nodeType || "DeclareExportDeclaration" === nodeType || "DeclareExportAllDeclaration" === nodeType || "InterfaceDeclaration" === nodeType || "OpaqueType" === nodeType || "TypeAlias" === nodeType) {3701 if (typeof opts === "undefined") {3702 return true;3703 } else {3704 return (0, _shallowEqual.default)(node, opts);3705 }3706 }3707 return false;3708}3709function isFlowPredicate(node, opts) {3710 if (!node) return false;3711 const nodeType = node.type;3712 if ("DeclaredPredicate" === nodeType || "InferredPredicate" === nodeType) {3713 if (typeof opts === "undefined") {3714 return true;3715 } else {3716 return (0, _shallowEqual.default)(node, opts);3717 }3718 }3719 return false;3720}3721function isEnumBody(node, opts) {3722 if (!node) return false;3723 const nodeType = node.type;3724 if ("EnumBooleanBody" === nodeType || "EnumNumberBody" === nodeType || "EnumStringBody" === nodeType || "EnumSymbolBody" === nodeType) {3725 if (typeof opts === "undefined") {3726 return true;3727 } else {3728 return (0, _shallowEqual.default)(node, opts);3729 }3730 }3731 return false;3732}3733function isEnumMember(node, opts) {3734 if (!node) return false;3735 const nodeType = node.type;3736 if ("EnumBooleanMember" === nodeType || "EnumNumberMember" === nodeType || "EnumStringMember" === nodeType || "EnumDefaultedMember" === nodeType) {3737 if (typeof opts === "undefined") {3738 return true;3739 } else {3740 return (0, _shallowEqual.default)(node, opts);3741 }3742 }3743 return false;3744}3745function isJSX(node, opts) {3746 if (!node) return false;3747 const nodeType = node.type;3748 if ("JSXAttribute" === nodeType || "JSXClosingElement" === nodeType || "JSXElement" === nodeType || "JSXEmptyExpression" === nodeType || "JSXExpressionContainer" === nodeType || "JSXSpreadChild" === nodeType || "JSXIdentifier" === nodeType || "JSXMemberExpression" === nodeType || "JSXNamespacedName" === nodeType || "JSXOpeningElement" === nodeType || "JSXSpreadAttribute" === nodeType || "JSXText" === nodeType || "JSXFragment" === nodeType || "JSXOpeningFragment" === nodeType || "JSXClosingFragment" === nodeType) {3749 if (typeof opts === "undefined") {3750 return true;3751 } else {3752 return (0, _shallowEqual.default)(node, opts);3753 }3754 }3755 return false;3756}3757function isTSTypeElement(node, opts) {3758 if (!node) return false;3759 const nodeType = node.type;3760 if ("TSCallSignatureDeclaration" === nodeType || "TSConstructSignatureDeclaration" === nodeType || "TSPropertySignature" === nodeType || "TSMethodSignature" === nodeType || "TSIndexSignature" === nodeType) {3761 if (typeof opts === "undefined") {3762 return true;3763 } else {3764 return (0, _shallowEqual.default)(node, opts);3765 }3766 }3767 return false;3768}3769function isTSType(node, opts) {3770 if (!node) return false;3771 const nodeType = node.type;3772 if ("TSAnyKeyword" === nodeType || "TSBooleanKeyword" === nodeType || "TSBigIntKeyword" === nodeType || "TSIntrinsicKeyword" === nodeType || "TSNeverKeyword" === nodeType || "TSNullKeyword" === nodeType || "TSNumberKeyword" === nodeType || "TSObjectKeyword" === nodeType || "TSStringKeyword" === nodeType || "TSSymbolKeyword" === nodeType || "TSUndefinedKeyword" === nodeType || "TSUnknownKeyword" === nodeType || "TSVoidKeyword" === nodeType || "TSThisType" === nodeType || "TSFunctionType" === nodeType || "TSConstructorType" === nodeType || "TSTypeReference" === nodeType || "TSTypePredicate" === nodeType || "TSTypeQuery" === nodeType || "TSTypeLiteral" === nodeType || "TSArrayType" === nodeType || "TSTupleType" === nodeType || "TSOptionalType" === nodeType || "TSRestType" === nodeType || "TSUnionType" === nodeType || "TSIntersectionType" === nodeType || "TSConditionalType" === nodeType || "TSInferType" === nodeType || "TSParenthesizedType" === nodeType || "TSTypeOperator" === nodeType || "TSIndexedAccessType" === nodeType || "TSMappedType" === nodeType || "TSLiteralType" === nodeType || "TSExpressionWithTypeArguments" === nodeType || "TSImportType" === nodeType) {3773 if (typeof opts === "undefined") {3774 return true;3775 } else {3776 return (0, _shallowEqual.default)(node, opts);3777 }3778 }3779 return false;3780}3781function isTSBaseType(node, opts) {3782 if (!node) return false;3783 const nodeType = node.type;3784 if ("TSAnyKeyword" === nodeType || "TSBooleanKeyword" === nodeType || "TSBigIntKeyword" === nodeType || "TSIntrinsicKeyword" === nodeType || "TSNeverKeyword" === nodeType || "TSNullKeyword" === nodeType || "TSNumberKeyword" === nodeType || "TSObjectKeyword" === nodeType || "TSStringKeyword" === nodeType || "TSSymbolKeyword" === nodeType || "TSUndefinedKeyword" === nodeType || "TSUnknownKeyword" === nodeType || "TSVoidKeyword" === nodeType || "TSThisType" === nodeType || "TSLiteralType" === nodeType) {3785 if (typeof opts === "undefined") {3786 return true;3787 } else {3788 return (0, _shallowEqual.default)(node, opts);3789 }3790 }3791 return false;3792}3793function isNumberLiteral(node, opts) {3794 console.trace("The node type NumberLiteral has been renamed to NumericLiteral");3795 if (!node) return false;3796 const nodeType = node.type;3797 if (nodeType === "NumberLiteral") {3798 if (typeof opts === "undefined") {3799 return true;3800 } else {3801 return (0, _shallowEqual.default)(node, opts);3802 }3803 }3804 return false;3805}3806function isRegexLiteral(node, opts) {3807 console.trace("The node type RegexLiteral has been renamed to RegExpLiteral");3808 if (!node) return false;3809 const nodeType = node.type;3810 if (nodeType === "RegexLiteral") {3811 if (typeof opts === "undefined") {3812 return true;3813 } else {3814 return (0, _shallowEqual.default)(node, opts);3815 }3816 }3817 return false;3818}3819function isRestProperty(node, opts) {3820 console.trace("The node type RestProperty has been renamed to RestElement");3821 if (!node) return false;3822 const nodeType = node.type;3823 if (nodeType === "RestProperty") {3824 if (typeof opts === "undefined") {3825 return true;3826 } else {3827 return (0, _shallowEqual.default)(node, opts);3828 }3829 }3830 return false;3831}3832function isSpreadProperty(node, opts) {3833 console.trace("The node type SpreadProperty has been renamed to SpreadElement");3834 if (!node) return false;3835 const nodeType = node.type;3836 if (nodeType === "SpreadProperty") {3837 if (typeof opts === "undefined") {3838 return true;3839 } else {3840 return (0, _shallowEqual.default)(node, opts);3841 }3842 }3843 return false;...

Full Screen

Full Screen

dom.js

Source:dom.js Github

copy

Full Screen

1define([2 'summernote/base/core/func',3 'summernote/base/core/list',4 'summernote/base/core/agent'5], function (func, list, agent) {6 var NBSP_CHAR = String.fromCharCode(160);7 var ZERO_WIDTH_NBSP_CHAR = '\ufeff';8 /**9 * @class core.dom10 *11 * Dom functions12 *13 * @singleton14 * @alternateClassName dom15 */16 var dom = (function () {17 /**18 * @method isEditable19 *20 * returns whether node is `note-editable` or not.21 *22 * @param {Node} node23 * @return {Boolean}24 */25 var isEditable = function (node) {26 return node && $(node).hasClass('note-editable');27 };28 /**29 * @method isControlSizing30 *31 * returns whether node is `note-control-sizing` or not.32 *33 * @param {Node} node34 * @return {Boolean}35 */36 var isControlSizing = function (node) {37 return node && $(node).hasClass('note-control-sizing');38 };39 /**40 * @method makePredByNodeName41 *42 * returns predicate which judge whether nodeName is same43 *44 * @param {String} nodeName45 * @return {Function}46 */47 var makePredByNodeName = function (nodeName) {48 nodeName = nodeName.toUpperCase();49 return function (node) {50 return node && node.nodeName.toUpperCase() === nodeName;51 };52 };53 /**54 * @method isText55 *56 *57 *58 * @param {Node} node59 * @return {Boolean} true if node's type is text(3)60 */61 var isText = function (node) {62 return node && node.nodeType === 3;63 };64 /**65 * @method isElement66 *67 *68 *69 * @param {Node} node70 * @return {Boolean} true if node's type is element(1)71 */72 var isElement = function (node) {73 return node && node.nodeType === 1;74 };75 /**76 * ex) br, col, embed, hr, img, input, ...77 * @see http://www.w3.org/html/wg/drafts/html/master/syntax.html#void-elements78 */79 var isVoid = function (node) {80 return node && /^BR|^IMG|^HR|^IFRAME|^BUTTON/.test(node.nodeName.toUpperCase());81 };82 var isPara = function (node) {83 if (isEditable(node)) {84 return false;85 }86 // Chrome(v31.0), FF(v25.0.1) use DIV for paragraph87 return node && /^DIV|^P|^LI|^H[1-7]/.test(node.nodeName.toUpperCase());88 };89 var isHeading = function (node) {90 return node && /^H[1-7]/.test(node.nodeName.toUpperCase());91 };92 var isPre = makePredByNodeName('PRE');93 var isLi = makePredByNodeName('LI');94 var isPurePara = function (node) {95 return isPara(node) && !isLi(node);96 };97 var isTable = makePredByNodeName('TABLE');98 var isData = makePredByNodeName('DATA');99 var isInline = function (node) {100 return !isBodyContainer(node) &&101 !isList(node) &&102 !isHr(node) &&103 !isPara(node) &&104 !isTable(node) &&105 !isBlockquote(node) &&106 !isData(node);107 };108 var isList = function (node) {109 return node && /^UL|^OL/.test(node.nodeName.toUpperCase());110 };111 var isHr = makePredByNodeName('HR');112 var isCell = function (node) {113 return node && /^TD|^TH/.test(node.nodeName.toUpperCase());114 };115 var isBlockquote = makePredByNodeName('BLOCKQUOTE');116 var isBodyContainer = function (node) {117 return isCell(node) || isBlockquote(node) || isEditable(node);118 };119 var isAnchor = makePredByNodeName('A');120 var isParaInline = function (node) {121 return isInline(node) && !!ancestor(node, isPara);122 };123 var isBodyInline = function (node) {124 return isInline(node) && !ancestor(node, isPara);125 };126 var isBody = makePredByNodeName('BODY');127 /**128 * returns whether nodeB is closest sibling of nodeA129 *130 * @param {Node} nodeA131 * @param {Node} nodeB132 * @return {Boolean}133 */134 var isClosestSibling = function (nodeA, nodeB) {135 return nodeA.nextSibling === nodeB ||136 nodeA.previousSibling === nodeB;137 };138 /**139 * returns array of closest siblings with node140 *141 * @param {Node} node142 * @param {function} [pred] - predicate function143 * @return {Node[]}144 */145 var withClosestSiblings = function (node, pred) {146 pred = pred || func.ok;147 var siblings = [];148 if (node.previousSibling && pred(node.previousSibling)) {149 siblings.push(node.previousSibling);150 }151 siblings.push(node);152 if (node.nextSibling && pred(node.nextSibling)) {153 siblings.push(node.nextSibling);154 }155 return siblings;156 };157 /**158 * blank HTML for cursor position159 * - [workaround] old IE only works with &nbsp;160 * - [workaround] IE11 and other browser works with bogus br161 */162 var blankHTML = agent.isMSIE && agent.browserVersion < 11 ? '&nbsp;' : '<br>';163 /**164 * @method nodeLength165 *166 * returns #text's text size or element's childNodes size167 *168 * @param {Node} node169 */170 var nodeLength = function (node) {171 if (isText(node)) {172 return node.nodeValue.length;173 }174 175 if (node) {176 return node.childNodes.length;177 }178 179 return 0;180 181 };182 /**183 * returns whether node is empty or not.184 *185 * @param {Node} node186 * @return {Boolean}187 */188 var isEmpty = function (node) {189 var len = nodeLength(node);190 if (len === 0) {191 return true;192 } else if (!isText(node) && len === 1 && node.innerHTML === blankHTML) {193 // ex) <p><br></p>, <span><br></span>194 return true;195 } else if (list.all(node.childNodes, isText) && node.innerHTML === '') {196 // ex) <p></p>, <span></span>197 return true;198 }199 return false;200 };201 /**202 * padding blankHTML if node is empty (for cursor position)203 */204 var paddingBlankHTML = function (node) {205 if (!isVoid(node) && !nodeLength(node)) {206 node.innerHTML = blankHTML;207 }208 };209 /**210 * find nearest ancestor predicate hit211 *212 * @param {Node} node213 * @param {Function} pred - predicate function214 */215 var ancestor = function (node, pred) {216 while (node) {217 if (pred(node)) { return node; }218 if (isEditable(node)) { break; }219 node = node.parentNode;220 }221 return null;222 };223 /**224 * find nearest ancestor only single child blood line and predicate hit225 *226 * @param {Node} node227 * @param {Function} pred - predicate function228 */229 var singleChildAncestor = function (node, pred) {230 node = node.parentNode;231 while (node) {232 if (nodeLength(node) !== 1) { break; }233 if (pred(node)) { return node; }234 if (isEditable(node)) { break; }235 node = node.parentNode;236 }237 return null;238 };239 /**240 * returns new array of ancestor nodes (until predicate hit).241 *242 * @param {Node} node243 * @param {Function} [optional] pred - predicate function244 */245 var listAncestor = function (node, pred) {246 pred = pred || func.fail;247 var ancestors = [];248 ancestor(node, function (el) {249 if (!isEditable(el)) {250 ancestors.push(el);251 }252 return pred(el);253 });254 return ancestors;255 };256 /**257 * find farthest ancestor predicate hit258 */259 var lastAncestor = function (node, pred) {260 var ancestors = listAncestor(node);261 return list.last(ancestors.filter(pred));262 };263 /**264 * returns common ancestor node between two nodes.265 *266 * @param {Node} nodeA267 * @param {Node} nodeB268 */269 var commonAncestor = function (nodeA, nodeB) {270 var ancestors = listAncestor(nodeA);271 for (var n = nodeB; n; n = n.parentNode) {272 if ($.inArray(n, ancestors) > -1) { return n; }273 }274 return null; // difference document area275 };276 /**277 * listing all previous siblings (until predicate hit).278 *279 * @param {Node} node280 * @param {Function} [optional] pred - predicate function281 */282 var listPrev = function (node, pred) {283 pred = pred || func.fail;284 var nodes = [];285 while (node) {286 if (pred(node)) { break; }287 nodes.push(node);288 node = node.previousSibling;289 }290 return nodes;291 };292 /**293 * listing next siblings (until predicate hit).294 *295 * @param {Node} node296 * @param {Function} [pred] - predicate function297 */298 var listNext = function (node, pred) {299 pred = pred || func.fail;300 var nodes = [];301 while (node) {302 if (pred(node)) { break; }303 nodes.push(node);304 node = node.nextSibling;305 }306 return nodes;307 };308 /**309 * listing descendant nodes310 *311 * @param {Node} node312 * @param {Function} [pred] - predicate function313 */314 var listDescendant = function (node, pred) {315 var descendants = [];316 pred = pred || func.ok;317 // start DFS(depth first search) with node318 (function fnWalk(current) {319 if (node !== current && pred(current)) {320 descendants.push(current);321 }322 for (var idx = 0, len = current.childNodes.length; idx < len; idx++) {323 fnWalk(current.childNodes[idx]);324 }325 })(node);326 return descendants;327 };328 /**329 * wrap node with new tag.330 *331 * @param {Node} node332 * @param {Node} tagName of wrapper333 * @return {Node} - wrapper334 */335 var wrap = function (node, wrapperName) {336 var parent = node.parentNode;337 var wrapper = $('<' + wrapperName + '>')[0];338 parent.insertBefore(wrapper, node);339 wrapper.appendChild(node);340 return wrapper;341 };342 /**343 * insert node after preceding344 *345 * @param {Node} node346 * @param {Node} preceding - predicate function347 */348 var insertAfter = function (node, preceding) {349 var next = preceding.nextSibling, parent = preceding.parentNode;350 if (next) {351 parent.insertBefore(node, next);352 } else {353 parent.appendChild(node);354 }355 return node;356 };357 /**358 * append elements.359 *360 * @param {Node} node361 * @param {Collection} aChild362 */363 var appendChildNodes = function (node, aChild) {364 $.each(aChild, function (idx, child) {365 node.appendChild(child);366 });367 return node;368 };369 /**370 * returns whether boundaryPoint is left edge or not.371 *372 * @param {BoundaryPoint} point373 * @return {Boolean}374 */375 var isLeftEdgePoint = function (point) {376 return point.offset === 0;377 };378 /**379 * returns whether boundaryPoint is right edge or not.380 *381 * @param {BoundaryPoint} point382 * @return {Boolean}383 */384 var isRightEdgePoint = function (point) {385 return point.offset === nodeLength(point.node);386 };387 /**388 * returns whether boundaryPoint is edge or not.389 *390 * @param {BoundaryPoint} point391 * @return {Boolean}392 */393 var isEdgePoint = function (point) {394 return isLeftEdgePoint(point) || isRightEdgePoint(point);395 };396 /**397 * returns whether node is left edge of ancestor or not.398 *399 * @param {Node} node400 * @param {Node} ancestor401 * @return {Boolean}402 */403 var isLeftEdgeOf = function (node, ancestor) {404 while (node && node !== ancestor) {405 if (position(node) !== 0) {406 return false;407 }408 node = node.parentNode;409 }410 return true;411 };412 /**413 * returns whether node is right edge of ancestor or not.414 *415 * @param {Node} node416 * @param {Node} ancestor417 * @return {Boolean}418 */419 var isRightEdgeOf = function (node, ancestor) {420 if (!ancestor) {421 return false;422 }423 while (node && node !== ancestor) {424 if (position(node) !== nodeLength(node.parentNode) - 1) {425 return false;426 }427 node = node.parentNode;428 }429 return true;430 };431 /**432 * returns whether point is left edge of ancestor or not.433 * @param {BoundaryPoint} point434 * @param {Node} ancestor435 * @return {Boolean}436 */437 var isLeftEdgePointOf = function (point, ancestor) {438 return isLeftEdgePoint(point) && isLeftEdgeOf(point.node, ancestor);439 };440 /**441 * returns whether point is right edge of ancestor or not.442 * @param {BoundaryPoint} point443 * @param {Node} ancestor444 * @return {Boolean}445 */446 var isRightEdgePointOf = function (point, ancestor) {447 return isRightEdgePoint(point) && isRightEdgeOf(point.node, ancestor);448 };449 /**450 * returns offset from parent.451 *452 * @param {Node} node453 */454 var position = function (node) {455 var offset = 0;456 while ((node = node.previousSibling)) {457 offset += 1;458 }459 return offset;460 };461 var hasChildren = function (node) {462 return !!(node && node.childNodes && node.childNodes.length);463 };464 /**465 * returns previous boundaryPoint466 *467 * @param {BoundaryPoint} point468 * @param {Boolean} isSkipInnerOffset469 * @return {BoundaryPoint}470 */471 var prevPoint = function (point, isSkipInnerOffset) {472 var node, offset;473 if (point.offset === 0) {474 if (isEditable(point.node)) {475 return null;476 }477 node = point.node.parentNode;478 offset = position(point.node);479 } else if (hasChildren(point.node)) {480 node = point.node.childNodes[point.offset - 1];481 offset = nodeLength(node);482 } else {483 node = point.node;484 offset = isSkipInnerOffset ? 0 : point.offset - 1;485 }486 return {487 node: node,488 offset: offset489 };490 };491 /**492 * returns next boundaryPoint493 *494 * @param {BoundaryPoint} point495 * @param {Boolean} isSkipInnerOffset496 * @return {BoundaryPoint}497 */498 var nextPoint = function (point, isSkipInnerOffset) {499 var node, offset;500 if (nodeLength(point.node) === point.offset) {501 if (isEditable(point.node)) {502 return null;503 }504 node = point.node.parentNode;505 offset = position(point.node) + 1;506 } else if (hasChildren(point.node)) {507 node = point.node.childNodes[point.offset];508 offset = 0;509 } else {510 node = point.node;511 offset = isSkipInnerOffset ? nodeLength(point.node) : point.offset + 1;512 }513 return {514 node: node,515 offset: offset516 };517 };518 /**519 * returns whether pointA and pointB is same or not.520 *521 * @param {BoundaryPoint} pointA522 * @param {BoundaryPoint} pointB523 * @return {Boolean}524 */525 var isSamePoint = function (pointA, pointB) {526 return pointA.node === pointB.node && pointA.offset === pointB.offset;527 };528 /**529 * returns whether point is visible (can set cursor) or not.530 *531 * @param {BoundaryPoint} point532 * @return {Boolean}533 */534 var isVisiblePoint = function (point) {535 if (isText(point.node) || !hasChildren(point.node) || isEmpty(point.node)) {536 return true;537 }538 var leftNode = point.node.childNodes[point.offset - 1];539 var rightNode = point.node.childNodes[point.offset];540 if ((!leftNode || isVoid(leftNode)) && (!rightNode || isVoid(rightNode))) {541 return true;542 }543 return false;544 };545 /**546 * @method prevPointUtil547 *548 * @param {BoundaryPoint} point549 * @param {Function} pred550 * @return {BoundaryPoint}551 */552 var prevPointUntil = function (point, pred) {553 while (point) {554 if (pred(point)) {555 return point;556 }557 point = prevPoint(point);558 }559 return null;560 };561 /**562 * @method nextPointUntil563 *564 * @param {BoundaryPoint} point565 * @param {Function} pred566 * @return {BoundaryPoint}567 */568 var nextPointUntil = function (point, pred) {569 while (point) {570 if (pred(point)) {571 return point;572 }573 point = nextPoint(point);574 }575 return null;576 };577 /**578 * returns whether point has character or not.579 *580 * @param {Point} point581 * @return {Boolean}582 */583 var isCharPoint = function (point) {584 if (!isText(point.node)) {585 return false;586 }587 var ch = point.node.nodeValue.charAt(point.offset - 1);588 return ch && (ch !== ' ' && ch !== NBSP_CHAR);589 };590 /**591 * @method walkPoint592 *593 * @param {BoundaryPoint} startPoint594 * @param {BoundaryPoint} endPoint595 * @param {Function} handler596 * @param {Boolean} isSkipInnerOffset597 */598 var walkPoint = function (startPoint, endPoint, handler, isSkipInnerOffset) {599 var point = startPoint;600 while (point) {601 handler(point);602 if (isSamePoint(point, endPoint)) {603 break;604 }605 var isSkipOffset = isSkipInnerOffset &&606 startPoint.node !== point.node &&607 endPoint.node !== point.node;608 point = nextPoint(point, isSkipOffset);609 }610 };611 /**612 * @method makeOffsetPath613 *614 * return offsetPath(array of offset) from ancestor615 *616 * @param {Node} ancestor - ancestor node617 * @param {Node} node618 */619 var makeOffsetPath = function (ancestor, node) {620 var ancestors = listAncestor(node, func.eq(ancestor));621 return ancestors.map(position).reverse();622 };623 /**624 * @method fromOffsetPath625 *626 * return element from offsetPath(array of offset)627 *628 * @param {Node} ancestor - ancestor node629 * @param {array} offsets - offsetPath630 */631 var fromOffsetPath = function (ancestor, offsets) {632 var current = ancestor;633 for (var i = 0, len = offsets.length; i < len; i++) {634 if (current.childNodes.length <= offsets[i]) {635 current = current.childNodes[current.childNodes.length - 1];636 } else {637 current = current.childNodes[offsets[i]];638 }639 }640 return current;641 };642 /**643 * @method splitNode644 *645 * split element or #text646 *647 * @param {BoundaryPoint} point648 * @param {Object} [options]649 * @param {Boolean} [options.isSkipPaddingBlankHTML] - default: false650 * @param {Boolean} [options.isNotSplitEdgePoint] - default: false651 * @return {Node} right node of boundaryPoint652 */653 var splitNode = function (point, options) {654 var isSkipPaddingBlankHTML = options && options.isSkipPaddingBlankHTML;655 var isNotSplitEdgePoint = options && options.isNotSplitEdgePoint;656 // edge case657 if (isEdgePoint(point) && (isText(point.node) || isNotSplitEdgePoint)) {658 if (isLeftEdgePoint(point)) {659 return point.node;660 } else if (isRightEdgePoint(point)) {661 return point.node.nextSibling;662 }663 }664 // split #text665 if (isText(point.node)) {666 return point.node.splitText(point.offset);667 } else {668 var childNode = point.node.childNodes[point.offset];669 var clone = insertAfter(point.node.cloneNode(false), point.node);670 appendChildNodes(clone, listNext(childNode));671 if (!isSkipPaddingBlankHTML) {672 paddingBlankHTML(point.node);673 paddingBlankHTML(clone);674 }675 return clone;676 }677 };678 /**679 * @method splitTree680 *681 * split tree by point682 *683 * @param {Node} root - split root684 * @param {BoundaryPoint} point685 * @param {Object} [options]686 * @param {Boolean} [options.isSkipPaddingBlankHTML] - default: false687 * @param {Boolean} [options.isNotSplitEdgePoint] - default: false688 * @return {Node} right node of boundaryPoint689 */690 var splitTree = function (root, point, options) {691 // ex) [#text, <span>, <p>]692 var ancestors = listAncestor(point.node, func.eq(root));693 if (!ancestors.length) {694 return null;695 } else if (ancestors.length === 1) {696 return splitNode(point, options);697 }698 return ancestors.reduce(function (node, parent) {699 if (node === point.node) {700 node = splitNode(point, options);701 }702 return splitNode({703 node: parent,704 offset: node ? dom.position(node) : nodeLength(parent)705 }, options);706 });707 };708 /**709 * split point710 *711 * @param {Point} point712 * @param {Boolean} isInline713 * @return {Object}714 */715 var splitPoint = function (point, isInline) {716 // find splitRoot, container717 // - inline: splitRoot is a child of paragraph718 // - block: splitRoot is a child of bodyContainer719 var pred = isInline ? isPara : isBodyContainer;720 var ancestors = listAncestor(point.node, pred);721 var topAncestor = list.last(ancestors) || point.node;722 var splitRoot, container;723 if (pred(topAncestor)) {724 splitRoot = ancestors[ancestors.length - 2];725 container = topAncestor;726 } else {727 splitRoot = topAncestor;728 container = splitRoot.parentNode;729 }730 // if splitRoot is exists, split with splitTree731 var pivot = splitRoot && splitTree(splitRoot, point, {732 isSkipPaddingBlankHTML: isInline,733 isNotSplitEdgePoint: isInline734 });735 // if container is point.node, find pivot with point.offset736 if (!pivot && container === point.node) {737 pivot = point.node.childNodes[point.offset];738 }739 return {740 rightNode: pivot,741 container: container742 };743 };744 var create = function (nodeName) {745 return document.createElement(nodeName);746 };747 var createText = function (text) {748 return document.createTextNode(text);749 };750 /**751 * @method remove752 *753 * remove node, (isRemoveChild: remove child or not)754 *755 * @param {Node} node756 * @param {Boolean} isRemoveChild757 */758 var remove = function (node, isRemoveChild) {759 if (!node || !node.parentNode) { return; }760 if (node.removeNode) { return node.removeNode(isRemoveChild); }761 var parent = node.parentNode;762 if (!isRemoveChild) {763 var nodes = [];764 var i, len;765 for (i = 0, len = node.childNodes.length; i < len; i++) {766 nodes.push(node.childNodes[i]);767 }768 for (i = 0, len = nodes.length; i < len; i++) {769 parent.insertBefore(nodes[i], node);770 }771 }772 parent.removeChild(node);773 };774 /**775 * @method removeWhile776 *777 * @param {Node} node778 * @param {Function} pred779 */780 var removeWhile = function (node, pred) {781 while (node) {782 if (isEditable(node) || !pred(node)) {783 break;784 }785 var parent = node.parentNode;786 remove(node);787 node = parent;788 }789 };790 /**791 * @method replace792 *793 * replace node with provided nodeName794 *795 * @param {Node} node796 * @param {String} nodeName797 * @return {Node} - new node798 */799 var replace = function (node, nodeName) {800 if (node.nodeName.toUpperCase() === nodeName.toUpperCase()) {801 return node;802 }803 var newNode = create(nodeName);804 if (node.style.cssText) {805 newNode.style.cssText = node.style.cssText;806 }807 appendChildNodes(newNode, list.from(node.childNodes));808 insertAfter(newNode, node);809 remove(node);810 return newNode;811 };812 var isTextarea = makePredByNodeName('TEXTAREA');813 /**814 * @param {jQuery} $node815 * @param {Boolean} [stripLinebreaks] - default: false816 */817 var value = function ($node, stripLinebreaks) {818 var val = isTextarea($node[0]) ? $node.val() : $node.html();819 if (stripLinebreaks) {820 return val.replace(/[\n\r]/g, '');821 }822 return val;823 };824 /**825 * @method html826 *827 * get the HTML contents of node828 *829 * @param {jQuery} $node830 * @param {Boolean} [isNewlineOnBlock]831 */832 var html = function ($node, isNewlineOnBlock) {833 var markup = value($node);834 if (isNewlineOnBlock) {835 var regexTag = /<(\/?)(\b(?!!)[^>\s]*)(.*?)(\s*\/?>)/g;836 markup = markup.replace(regexTag, function (match, endSlash, name) {837 name = name.toUpperCase();838 var isEndOfInlineContainer = /^DIV|^TD|^TH|^P|^LI|^H[1-7]/.test(name) &&839 !!endSlash;840 var isBlockNode = /^BLOCKQUOTE|^TABLE|^TBODY|^TR|^HR|^UL|^OL/.test(name);841 return match + ((isEndOfInlineContainer || isBlockNode) ? '\n' : '');842 });843 markup = $.trim(markup);844 }845 return markup;846 };847 var posFromPlaceholder = function (placeholder) {848 var $placeholder = $(placeholder);849 var pos = $placeholder.offset();850 var height = $placeholder.outerHeight(true); // include margin851 return {852 left: pos.left,853 top: pos.top + height854 };855 };856 var attachEvents = function ($node, events) {857 Object.keys(events).forEach(function (key) {858 $node.on(key, events[key]);859 });860 };861 var detachEvents = function ($node, events) {862 Object.keys(events).forEach(function (key) {863 $node.off(key, events[key]);864 });865 };866 return {867 /** @property {String} NBSP_CHAR */868 NBSP_CHAR: NBSP_CHAR,869 /** @property {String} ZERO_WIDTH_NBSP_CHAR */870 ZERO_WIDTH_NBSP_CHAR: ZERO_WIDTH_NBSP_CHAR,871 /** @property {String} blank */872 blank: blankHTML,873 /** @property {String} emptyPara */874 emptyPara: '<p>' + blankHTML + '</p>',875 makePredByNodeName: makePredByNodeName,876 isEditable: isEditable,877 isControlSizing: isControlSizing,878 isText: isText,879 isElement: isElement,880 isVoid: isVoid,881 isPara: isPara,882 isPurePara: isPurePara,883 isHeading: isHeading,884 isInline: isInline,885 isBlock: func.not(isInline),886 isBodyInline: isBodyInline,887 isBody: isBody,888 isParaInline: isParaInline,889 isPre: isPre,890 isList: isList,891 isTable: isTable,892 isData: isData,893 isCell: isCell,894 isBlockquote: isBlockquote,895 isBodyContainer: isBodyContainer,896 isAnchor: isAnchor,897 isDiv: makePredByNodeName('DIV'),898 isLi: isLi,899 isBR: makePredByNodeName('BR'),900 isSpan: makePredByNodeName('SPAN'),901 isB: makePredByNodeName('B'),902 isU: makePredByNodeName('U'),903 isS: makePredByNodeName('S'),904 isI: makePredByNodeName('I'),905 isImg: makePredByNodeName('IMG'),906 isTextarea: isTextarea,907 isEmpty: isEmpty,908 isEmptyAnchor: func.and(isAnchor, isEmpty),909 isClosestSibling: isClosestSibling,910 withClosestSiblings: withClosestSiblings,911 nodeLength: nodeLength,912 isLeftEdgePoint: isLeftEdgePoint,913 isRightEdgePoint: isRightEdgePoint,914 isEdgePoint: isEdgePoint,915 isLeftEdgeOf: isLeftEdgeOf,916 isRightEdgeOf: isRightEdgeOf,917 isLeftEdgePointOf: isLeftEdgePointOf,918 isRightEdgePointOf: isRightEdgePointOf,919 prevPoint: prevPoint,920 nextPoint: nextPoint,921 isSamePoint: isSamePoint,922 isVisiblePoint: isVisiblePoint,923 prevPointUntil: prevPointUntil,924 nextPointUntil: nextPointUntil,925 isCharPoint: isCharPoint,926 walkPoint: walkPoint,927 ancestor: ancestor,928 singleChildAncestor: singleChildAncestor,929 listAncestor: listAncestor,930 lastAncestor: lastAncestor,931 listNext: listNext,932 listPrev: listPrev,933 listDescendant: listDescendant,934 commonAncestor: commonAncestor,935 wrap: wrap,936 insertAfter: insertAfter,937 appendChildNodes: appendChildNodes,938 position: position,939 hasChildren: hasChildren,940 makeOffsetPath: makeOffsetPath,941 fromOffsetPath: fromOffsetPath,942 splitTree: splitTree,943 splitPoint: splitPoint,944 create: create,945 createText: createText,946 remove: remove,947 removeWhile: removeWhile,948 replace: replace,949 html: html,950 value: value,951 posFromPlaceholder: posFromPlaceholder,952 attachEvents: attachEvents,953 detachEvents: detachEvents954 };955 })();956 return dom;...

Full Screen

Full Screen

NodeMaterialLoader.js

Source:NodeMaterialLoader.js Github

copy

Full Screen

1/**2 * @author sunag / http://www.sunag.com.br/3 */4THREE.NodeMaterialLoader = function ( manager, library ) {5 this.manager = ( manager !== undefined ) ? manager : THREE.DefaultLoadingManager;6 this.nodes = {};7 this.materials = {};8 this.passes = {};9 this.names = {};10 this.library = library || {};11};12THREE.NodeMaterialLoaderUtils = {13 replaceUUIDObject: function ( object, uuid, value, recursive ) {14 recursive = recursive !== undefined ? recursive : true;15 if ( typeof uuid === "object" ) uuid = uuid.uuid;16 if ( typeof object === "object" ) {17 var keys = Object.keys( object );18 for ( var i = 0; i < keys.length; i ++ ) {19 var key = keys[ i ];20 if ( recursive ) {21 object[ key ] = this.replaceUUIDObject( object[ key ], uuid, value );22 }23 if ( key === uuid ) {24 object[ uuid ] = object[ key ];25 delete object[ key ];26 }27 }28 }29 return object === uuid ? value : object;30 },31 replaceUUID: function ( json, uuid, value ) {32 this.replaceUUIDObject( json, uuid, value, false );33 this.replaceUUIDObject( json.nodes, uuid, value );34 this.replaceUUIDObject( json.materials, uuid, value );35 this.replaceUUIDObject( json.passes, uuid, value );36 this.replaceUUIDObject( json.library, uuid, value, false );37 return json;38 }39};40Object.assign( THREE.NodeMaterialLoader.prototype, {41 load: function ( url, onLoad, onProgress, onError ) {42 var scope = this;43 var loader = new THREE.FileLoader( scope.manager );44 loader.load( url, function ( text ) {45 onLoad( scope.parse( JSON.parse( text ) ) );46 }, onProgress, onError );47 return this;48 },49 getObjectByName: function ( uuid ) {50 return this.names[ uuid ];51 },52 getObjectById: function ( uuid ) {53 return this.library[ uuid ] || this.nodes[ uuid ] || this.names[ uuid ];54 },55 getNode: function ( uuid ) {56 var object = this.getObjectById( uuid );57 if ( ! object ) {58 console.warn( "Node \"" + uuid + "\" not found." );59 }60 return object;61 },62 parse: function ( json ) {63 var uuid, node, object, prop, i;64 for ( uuid in json.nodes ) {65 node = json.nodes[ uuid ];66 object = new THREE[ node.type ]();67 if ( node.name ) {68 object.name = node.name;69 this.names[ object.name ] = object;70 } else {71 // ignore "uniform" shader input ( for optimization )72 object.readonly = true;73 }74 if ( node.readonly !== undefined ) object.readonly = node.readonly;75 this.nodes[ uuid ] = object;76 }77 for ( uuid in json.materials ) {78 node = json.materials[ uuid ];79 object = new THREE[ node.type ]();80 if ( node.name ) {81 object.name = node.name;82 this.names[ object.name ] = object;83 }84 this.materials[ uuid ] = object;85 }86 for ( uuid in json.passes ) {87 node = json.passes[ uuid ];88 object = new THREE[ node.type ]();89 if ( node.name ) {90 object.name = node.name;91 this.names[ object.name ] = object;92 }93 this.passes[ uuid ] = object;94 }95 if ( json.material ) this.material = this.materials[ uuid ];96 if ( json.pass ) this.pass = this.passes[ uuid ];97 for ( uuid in json.nodes ) {98 node = json.nodes[ uuid ];99 object = this.nodes[ uuid ];100 switch ( node.type ) {101 case "FloatNode":102 object.number = node.number;103 break;104 case "ColorNode":105 object.value.copy( node );106 break;107 case "Vector2Node":108 object.x = node.x;109 object.y = node.y;110 break;111 case "Vector3Node":112 object.x = node.x;113 object.y = node.y;114 object.z = node.z;115 break;116 case "Vector4Node":117 object.x = node.x;118 object.y = node.y;119 object.z = node.z;120 object.w = node.w;121 break;122 case "Matrix3Node":123 case "Matrix4Node":124 object.value.fromArray( node.elements );125 break;126 case "OperatorNode":127 object.a = this.getNode( node.a );128 object.b = this.getNode( node.b );129 object.op = node.op;130 break;131 case "Math1Node":132 object.a = this.getNode( node.a );133 object.method = node.method;134 break;135 case "Math2Node":136 object.a = this.getNode( node.a );137 object.b = this.getNode( node.b );138 object.method = node.method;139 break;140 case "Math3Node":141 object.a = this.getNode( node.a );142 object.b = this.getNode( node.b );143 object.c = this.getNode( node.c );144 object.method = node.method;145 break;146 case "UVNode":147 case "ColorsNode":148 object.index = node.index;149 break;150 case "LuminanceNode":151 object.rgb = this.getNode( node.rgb );152 break;153 case "PositionNode":154 case "NormalNode":155 case "ReflectNode":156 case "LightNode":157 object.scope = node.scope;158 break;159 case "SwitchNode":160 object.node = this.getNode( node.node );161 object.components = node.components;162 break;163 case "JoinNode":164 for ( prop in node.inputs ) {165 object[ prop ] = this.getNode( node.inputs[ prop ] );166 }167 break;168 case "CameraNode":169 object.setScope( node.scope );170 if ( node.camera ) object.setCamera( this.getNode( node.camera ) );171 switch ( node.scope ) {172 case THREE.CameraNode.DEPTH:173 object.near.number = node.near;174 object.far.number = node.far;175 break;176 }177 break;178 case "ColorAdjustmentNode":179 object.rgb = this.getNode( node.rgb );180 object.adjustment = this.getNode( node.adjustment );181 object.method = node.method;182 break;183 case "UVTransformNode":184 object.uv = this.getNode( node.uv );185 object.transform = this.getNode( node.transform );186 break;187 case "BumpNode":188 object.value = this.getNode( node.value );189 object.coord = this.getNode( node.coord );190 object.scale = this.getNode( node.scale );191 break;192 case "BlurNode":193 object.value = this.getNode( node.value );194 object.coord = this.getNode( node.coord );195 object.scale = this.getNode( node.scale );196 object.value = this.getNode( node.value );197 object.coord = this.getNode( node.coord );198 object.radius = this.getNode( node.radius );199 if ( node.size !== undefined ) object.size = new THREE.Vector2( node.size.x, node.size.y );200 object.blurX = node.blurX;201 object.blurY = node.blurY;202 break;203 case "ResolutionNode":204 object.renderer = this.getNode( node.renderer );205 break;206 case "ScreenUVNode":207 object.resolution = this.getNode( node.resolution );208 break;209 case "VelocityNode":210 if ( node.target ) object.setTarget( this.getNode( node.target ) );211 object.setParams( node.params );212 break;213 case "TimerNode":214 object.scope = node.scope;215 object.scale = node.scale;216 break;217 case "ConstNode":218 object.name = node.name;219 object.type = node.out;220 object.value = node.value;221 object.useDefine = node.useDefine === true;222 break;223 case "AttributeNode":224 case "VarNode":225 object.type = node.out;226 break;227 case "ReflectorNode":228 object.setMirror( this.getNode( node.mirror ) );229 if ( node.offset ) object.offset = this.getNode( node.offset );230 break;231 case "NoiseNode":232 object.coord = this.getNode( node.coord );233 break;234 case "FunctionNode":235 object.isMethod = node.isMethod;236 object.useKeywords = node.useKeywords;237 object.extensions = node.extensions;238 object.keywords = {};239 for ( prop in node.keywords ) {240 object.keywords[ prop ] = this.getNode( node.keywords[ prop ] );241 }242 if ( node.includes ) {243 for ( i = 0; i < node.includes.length; i ++ ) {244 object.includes.push( this.getNode( node.includes[ i ] ) );245 }246 }247 object.eval( node.src, object.includes, object.extensions, object.keywords );248 if ( ! object.isMethod ) object.type = node.out;249 break;250 case "FunctionCallNode":251 for ( prop in node.inputs ) {252 object.inputs[ prop ] = this.getNode( node.inputs[ prop ] );253 }254 object.value = this.getNode( node.value );255 break;256 case "TextureNode":257 case "CubeTextureNode":258 case "ScreenNode":259 if ( node.value ) object.value = this.getNode( node.value );260 object.coord = this.getNode( node.coord );261 if ( node.bias ) object.bias = this.getNode( node.bias );262 if ( object.project !== undefined ) object.project = node.project;263 break;264 case "RoughnessToBlinnExponentNode":265 break;266 case "RawNode":267 object.value = this.getNode( node.value );268 break;269 case "StandardNode":270 case "PhongNode":271 case "SpriteNode":272 object.color = this.getNode( node.color );273 if ( node.alpha ) object.alpha = this.getNode( node.alpha );274 if ( node.specular ) object.specular = this.getNode( node.specular );275 if ( node.shininess ) object.shininess = this.getNode( node.shininess );276 if ( node.roughness ) object.roughness = this.getNode( node.roughness );277 if ( node.metalness ) object.metalness = this.getNode( node.metalness );278 if ( node.reflectivity ) object.reflectivity = this.getNode( node.reflectivity );279 if ( node.clearCoat ) object.clearCoat = this.getNode( node.clearCoat );280 if ( node.clearCoatRoughness ) object.clearCoatRoughness = this.getNode( node.clearCoatRoughness );281 if ( node.normal ) object.normal = this.getNode( node.normal );282 if ( node.normalScale ) object.normalScale = this.getNode( node.normalScale );283 if ( node.emissive ) object.emissive = this.getNode( node.emissive );284 if ( node.ambient ) object.ambient = this.getNode( node.ambient );285 if ( node.shadow ) object.shadow = this.getNode( node.shadow );286 if ( node.light ) object.light = this.getNode( node.light );287 if ( node.ao ) object.ao = this.getNode( node.ao );288 if ( node.environment ) object.environment = this.getNode( node.environment );289 if ( node.environmentAlpha ) object.environmentAlpha = this.getNode( node.environmentAlpha );290 if ( node.transform ) object.transform = this.getNode( node.transform );291 if ( node.spherical === false ) object.spherical = false;292 break;293 default:294 console.warn( node.type, "not supported." );295 }296 }297 for ( uuid in json.materials ) {298 node = json.materials[ uuid ];299 object = this.materials[ uuid ];300 if ( node.name !== undefined ) object.name = node.name;301 if ( node.blending !== undefined ) object.blending = node.blending;302 if ( node.flatShading !== undefined ) object.flatShading = node.flatShading;303 if ( node.side !== undefined ) object.side = node.side;304 object.depthFunc = node.depthFunc;305 object.depthTest = node.depthTest;306 object.depthWrite = node.depthWrite;307 if ( node.wireframe !== undefined ) object.wireframe = node.wireframe;308 if ( node.wireframeLinewidth !== undefined ) object.wireframeLinewidth = node.wireframeLinewidth;309 if ( node.wireframeLinecap !== undefined ) object.wireframeLinecap = node.wireframeLinecap;310 if ( node.wireframeLinejoin !== undefined ) object.wireframeLinejoin = node.wireframeLinejoin;311 if ( node.skinning !== undefined ) object.skinning = node.skinning;312 if ( node.morphTargets !== undefined ) object.morphTargets = node.morphTargets;313 if ( node.visible !== undefined ) object.visible = node.visible;314 if ( node.userData !== undefined ) object.userData = node.userData;315 object.vertex = this.getNode( node.vertex );316 object.fragment = this.getNode( node.fragment );317 if ( object.vertex === object.fragment ) {318 // replace main node319 object.node = object.vertex;320 }321 object.build();322 if ( node.fog !== undefined ) object.fog = node.fog;323 if ( node.lights !== undefined ) object.lights = node.lights;324 if ( node.transparent !== undefined ) object.transparent = node.transparent;325 }326 for ( uuid in json.passes ) {327 node = json.passes[ uuid ];328 object = this.passes[ uuid ];329 object.value = this.getNode( node.value );330 object.build();331 }332 return this.material || this.pass || this;333 }...

Full Screen

Full Screen

ShaderNode.js

Source:ShaderNode.js Github

copy

Full Screen

1// core2import PropertyNode from './core/PropertyNode.js';3import VarNode from './core/VarNode.js';4// inputs5import ColorNode from './inputs/ColorNode.js';6import FloatNode from './inputs/FloatNode.js';7import IntNode from './inputs/IntNode.js';8import Vector2Node from './inputs/Vector2Node.js';9import Vector3Node from './inputs/Vector3Node.js';10import Vector4Node from './inputs/Vector4Node.js';11// accessors12import PositionNode from './accessors/PositionNode.js';13import NormalNode from './accessors/NormalNode.js';14// math15import OperatorNode from './math/OperatorNode.js';16import CondNode from './math/CondNode.js';17import MathNode from './math/MathNode.js';18// utils19import ArrayElementNode from './utils/ArrayElementNode.js';20import ConvertNode from './utils/ConvertNode.js';21import JoinNode from './utils/JoinNode.js';22import SplitNode from './utils/SplitNode.js';23// core24import { Vector2, Vector3, Vector4, Color } from 'three';25const NodeHandler = {26 construct( NodeClosure, params ) {27 const inputs = params.shift();28 return NodeClosure( ShaderNodeObjects( inputs ), ...params );29 },30 get: function ( node, prop ) {31 if ( typeof prop === 'string' && node[ prop ] === undefined ) {32 if ( /^[xyzwrgbastpq]{1,4}$/.test( prop ) === true ) {33 // accessing properties ( swizzle )34 prop = prop35 .replace( /r|s/g, 'x' )36 .replace( /g|t/g, 'y' )37 .replace( /b|p/g, 'z' )38 .replace( /a|q/g, 'w' );39 return ShaderNodeObject( new SplitNode( node, prop ) );40 } else if ( /^\d+$/.test( prop ) === true ) {41 // accessing array42 return ShaderNodeObject( new ArrayElementNode( node, new FloatNode( Number( prop ) ).setConst( true ) ) );43 }44 }45 return node[ prop ];46 }47};48const nodeObjects = new WeakMap();49const ShaderNodeObject = ( obj ) => {50 const type = typeof obj;51 if ( type === 'number' ) {52 return ShaderNodeObject( new FloatNode( obj ).setConst( true ) );53 } else if ( type === 'object' ) {54 if ( obj.isNode === true ) {55 let nodeObject = nodeObjects.get( obj );56 if ( nodeObject === undefined ) {57 nodeObject = new Proxy( obj, NodeHandler );58 nodeObjects.set( obj, nodeObject );59 }60 return nodeObject;61 }62 }63 return obj;64};65const ShaderNodeObjects = ( objects ) => {66 for ( const name in objects ) {67 objects[ name ] = ShaderNodeObject( objects[ name ] );68 }69 return objects;70};71const ShaderNodeArray = ( array ) => {72 const len = array.length;73 for ( let i = 0; i < len; i ++ ) {74 array[ i ] = ShaderNodeObject( array[ i ] );75 }76 return array;77};78const ShaderNodeProxy = ( NodeClass, scope = null, factor = null ) => {79 if ( scope === null ) {80 return ( ...params ) => {81 return ShaderNodeObject( new NodeClass( ...ShaderNodeArray( params ) ) );82 };83 } else if ( factor === null ) {84 return ( ...params ) => {85 return ShaderNodeObject( new NodeClass( scope, ...ShaderNodeArray( params ) ) );86 };87 } else {88 factor = ShaderNodeObject( factor );89 return ( ...params ) => {90 return ShaderNodeObject( new NodeClass( scope, ...ShaderNodeArray( params ), factor ) );91 };92 }93};94const ShaderNodeScript = function ( jsFunc ) {95 return ( inputs, builder ) => {96 ShaderNodeObjects( inputs );97 return ShaderNodeObject( jsFunc( inputs, builder ) );98 };99};100export const ShaderNode = new Proxy( ShaderNodeScript, NodeHandler );101//102// Node Material Shader Syntax103//104export const uniform = new ShaderNode( ( inputNode ) => {105 inputNode.setConst( false );106 return inputNode;107} );108export const nodeObject = ( val ) => {109 return ShaderNodeObject( val );110};111export const float = ( val ) => {112 if ( val?.isNode === true ) {113 return nodeObject( new ConvertNode( val, 'float' ) );114 }115 return nodeObject( new FloatNode( val ).setConst( true ) );116};117export const int = ( val ) => {118 if ( val?.isNode === true ) {119 return nodeObject( new ConvertNode( val, 'int' ) );120 }121 return nodeObject( new IntNode( val ).setConst( true ) );122};123export const color = ( ...params ) => {124 if ( params[ 0 ]?.isNode === true ) {125 return nodeObject( new ConvertNode( params[0], 'color' ) );126 }127 return nodeObject( new ColorNode( new Color( ...params ) ).setConst( true ) );128};129export const join = ( ...params ) => {130 return nodeObject( new JoinNode( ShaderNodeArray( params ) ) );131};132export const cond = ( ...params ) => {133 return nodeObject( new CondNode( ...ShaderNodeArray( params ) ) );134};135export const vec2 = ( ...params ) => {136 if ( params[ 0 ]?.isNode === true ) {137 return nodeObject( new ConvertNode( params[ 0 ], 'vec2' ) );138 } else {139 // Providing one scalar value: This value is used for all components140 if ( params.length === 1 ) {141 params[ 1 ] = params[ 0 ];142 }143 return nodeObject( new Vector2Node( new Vector2( ...params ) ).setConst( true ) );144 }145};146export const vec3 = ( ...params ) => {147 if ( params[ 0 ]?.isNode === true ) {148 return nodeObject( new ConvertNode( params[ 0 ], 'vec3' ) );149 } else {150 // Providing one scalar value: This value is used for all components151 if ( params.length === 1 ) {152 params[ 1 ] = params[ 2 ] = params[ 0 ];153 }154 return nodeObject( new Vector3Node( new Vector3( ...params ) ).setConst( true ) );155 }156};157export const vec4 = ( ...params ) => {158 if ( params[ 0 ]?.isNode === true ) {159 return nodeObject( new ConvertNode( params[ 0 ], 'vec4' ) );160 } else {161 // Providing one scalar value: This value is used for all components162 if ( params.length === 1 ) {163 params[ 1 ] = params[ 2 ] = params[ 3 ] = params[ 0 ];164 }165 return nodeObject( new Vector4Node( new Vector4( ...params ) ).setConst( true ) );166 }167};168export const addTo = ( varNode, ...params ) => {169 varNode.node = add( varNode.node, ...ShaderNodeArray( params ) );170 return nodeObject( varNode );171};172export const add = ShaderNodeProxy( OperatorNode, '+' );173export const sub = ShaderNodeProxy( OperatorNode, '-' );174export const mul = ShaderNodeProxy( OperatorNode, '*' );175export const div = ShaderNodeProxy( OperatorNode, '/' );176export const remainder = ShaderNodeProxy( OperatorNode, '%' );177export const equal = ShaderNodeProxy( OperatorNode, '==' );178export const assign = ShaderNodeProxy( OperatorNode, '=' );179export const lessThan = ShaderNodeProxy( OperatorNode, '<' );180export const greaterThan = ShaderNodeProxy( OperatorNode, '>' );181export const lessThanEqual = ShaderNodeProxy( OperatorNode, '<=' );182export const greaterThanEqual = ShaderNodeProxy( OperatorNode, '>=' );183export const and = ShaderNodeProxy( OperatorNode, '&&' );184export const or = ShaderNodeProxy( OperatorNode, '||' );185export const xor = ShaderNodeProxy( OperatorNode, '^^' );186export const bitAnd = ShaderNodeProxy( OperatorNode, '&' );187export const bitOr = ShaderNodeProxy( OperatorNode, '|' );188export const bitXor = ShaderNodeProxy( OperatorNode, '^' );189export const shiftLeft = ShaderNodeProxy( OperatorNode, '<<' );190export const shiftRight = ShaderNodeProxy( OperatorNode, '>>' );191export const element = ShaderNodeProxy( ArrayElementNode );192export const normalGeometry = ShaderNodeObject( new NormalNode( NormalNode.GEOMETRY ) );193export const normalLocal = ShaderNodeObject( new NormalNode( NormalNode.LOCAL ) );194export const normalWorld = ShaderNodeObject( new NormalNode( NormalNode.WORLD ) );195export const normalView = ShaderNodeObject( new NormalNode( NormalNode.VIEW ) );196export const transformedNormalView = ShaderNodeObject( new VarNode( new NormalNode( NormalNode.VIEW ), 'TransformedNormalView', 'vec3' ) );197export const positionLocal = ShaderNodeObject( new PositionNode( PositionNode.LOCAL ) );198export const positionWorld = ShaderNodeObject( new PositionNode( PositionNode.WORLD ) );199export const positionView = ShaderNodeObject( new PositionNode( PositionNode.VIEW ) );200export const positionViewDirection = ShaderNodeObject( new PositionNode( PositionNode.VIEW_DIRECTION ) );201export const PI = float( 3.141592653589793 );202export const PI2 = float( 6.283185307179586 );203export const PI_HALF = float( 1.5707963267948966 );204export const RECIPROCAL_PI = float( 0.3183098861837907 );205export const RECIPROCAL_PI2 = float( 0.15915494309189535 );206export const EPSILON = float( 1e-6 );207export const diffuseColor = ShaderNodeObject( new PropertyNode( 'DiffuseColor', 'vec4' ) );208export const roughness = ShaderNodeObject( new PropertyNode( 'Roughness', 'float' ) );209export const metalness = ShaderNodeObject( new PropertyNode( 'Metalness', 'float' ) );210export const alphaTest = ShaderNodeObject( new PropertyNode( 'AlphaTest', 'float' ) );211export const specularColor = ShaderNodeObject( new PropertyNode( 'SpecularColor', 'color' ) );212export const abs = ShaderNodeProxy( MathNode, 'abs' );213export const acos = ShaderNodeProxy( MathNode, 'acos' );214export const asin = ShaderNodeProxy( MathNode, 'asin' );215export const atan = ShaderNodeProxy( MathNode, 'atan' );216export const ceil = ShaderNodeProxy( MathNode, 'ceil' );217export const clamp = ShaderNodeProxy( MathNode, 'clamp' );218export const cos = ShaderNodeProxy( MathNode, 'cos' );219export const cross = ShaderNodeProxy( MathNode, 'cross' );220export const degrees = ShaderNodeProxy( MathNode, 'degrees' );221export const dFdx = ShaderNodeProxy( MathNode, 'dFdx' );222export const dFdy = ShaderNodeProxy( MathNode, 'dFdy' );223export const distance = ShaderNodeProxy( MathNode, 'distance' );224export const dot = ShaderNodeProxy( MathNode, 'dot' );225export const exp = ShaderNodeProxy( MathNode, 'exp' );226export const exp2 = ShaderNodeProxy( MathNode, 'exp2' );227export const faceforward = ShaderNodeProxy( MathNode, 'faceforward' );228export const floor = ShaderNodeProxy( MathNode, 'floor' );229export const fract = ShaderNodeProxy( MathNode, 'fract' );230export const invert = ShaderNodeProxy( MathNode, 'invert' );231export const inversesqrt = ShaderNodeProxy( MathNode, 'inversesqrt' );232export const length = ShaderNodeProxy( MathNode, 'length' );233export const log = ShaderNodeProxy( MathNode, 'log' );234export const log2 = ShaderNodeProxy( MathNode, 'log2' );235export const max = ShaderNodeProxy( MathNode, 'max' );236export const min = ShaderNodeProxy( MathNode, 'min' );237export const mix = ShaderNodeProxy( MathNode, 'mix' );238export const mod = ShaderNodeProxy( MathNode, 'mod' );239export const negate = ShaderNodeProxy( MathNode, 'negate' );240export const normalize = ShaderNodeProxy( MathNode, 'normalize' );241export const pow = ShaderNodeProxy( MathNode, 'pow' );242export const pow2 = ShaderNodeProxy( MathNode, 'pow', 2 );243export const pow3 = ShaderNodeProxy( MathNode, 'pow', 3 );244export const pow4 = ShaderNodeProxy( MathNode, 'pow', 4 );245export const radians = ShaderNodeProxy( MathNode, 'radians' );246export const reflect = ShaderNodeProxy( MathNode, 'reflect' );247export const refract = ShaderNodeProxy( MathNode, 'refract' );248export const round = ShaderNodeProxy( MathNode, 'round' );249export const saturate = ShaderNodeProxy( MathNode, 'saturate' );250export const sign = ShaderNodeProxy( MathNode, 'sign' );251export const sin = ShaderNodeProxy( MathNode, 'sin' );252export const smoothstep = ShaderNodeProxy( MathNode, 'smoothstep' );253export const sqrt = ShaderNodeProxy( MathNode, 'sqrt' );254export const step = ShaderNodeProxy( MathNode, 'step' );255export const tan = ShaderNodeProxy( MathNode, 'tan' );...

Full Screen

Full Screen

avltree.js

Source:avltree.js Github

copy

Full Screen

1goog.provide('goog.structs.AvlTree'); 2goog.provide('goog.structs.AvlTree.Node'); 3goog.require('goog.structs'); 4goog.structs.AvlTree = function(opt_comparator) { 5 this.comparator_ = opt_comparator || goog.structs.AvlTree.DEFAULT_COMPARATOR_; 6}; 7goog.structs.AvlTree.DEFAULT_COMPARATOR_ = function(a, b) { 8 if(String(a) < String(b)) { 9 return - 1; 10 } else if(String(a) > String(b)) { 11 return 1; 12 } 13 return 0; 14}; 15goog.structs.AvlTree.prototype.root_ = null; 16goog.structs.AvlTree.prototype.comparator_ = null; 17goog.structs.AvlTree.prototype.minNode_ = null; 18goog.structs.AvlTree.prototype.maxNode_ = null; 19goog.structs.AvlTree.prototype.count_ = 0; 20goog.structs.AvlTree.prototype.add = function(value) { 21 if(this.root_ == null) { 22 this.root_ = new goog.structs.AvlTree.Node(value); 23 this.minNode_ = this.root_; 24 this.maxNode_ = this.root_; 25 this.count_ = 1; 26 return true; 27 } 28 var retStatus = false; 29 this.traverse_(function(node) { 30 var retNode = null; 31 if(this.comparator_(node.value, value) > 0) { 32 retNode = node.left; 33 if(node.left == null) { 34 var newNode = new goog.structs.AvlTree.Node(value, node); 35 node.left = newNode; 36 if(node == this.minNode_) { 37 this.minNode_ = newNode; 38 } 39 retStatus = true; 40 this.balance_(node); 41 } 42 } else if(this.comparator_(node.value, value) < 0) { 43 retNode = node.right; 44 if(node.right == null) { 45 var newNode = new goog.structs.AvlTree.Node(value, node); 46 node.right = newNode; 47 if(node == this.maxNode_) { 48 this.maxNode_ = newNode; 49 } 50 retStatus = true; 51 this.balance_(node); 52 } 53 } 54 return retNode; 55 }); 56 if(retStatus) { 57 this.count_ += 1; 58 } 59 return retStatus; 60}; 61goog.structs.AvlTree.prototype.remove = function(value) { 62 var retValue = null; 63 this.traverse_(function(node) { 64 var retNode = null; 65 if(this.comparator_(node.value, value) > 0) { 66 retNode = node.left; 67 } else if(this.comparator_(node.value, value) < 0) { 68 retNode = node.right; 69 } else { 70 retValue = node.value; 71 this.removeNode_(node); 72 } 73 return retNode; 74 }); 75 if(retValue) { 76 this.count_ -= 1; 77 } 78 return retValue; 79}; 80goog.structs.AvlTree.prototype.clear = function() { 81 this.root_ = null; 82 this.minNode_ = null; 83 this.maxNode_ = null; 84 this.count_ = 0; 85}; 86goog.structs.AvlTree.prototype.contains = function(value) { 87 var isContained = false; 88 this.traverse_(function(node) { 89 var retNode = null; 90 if(this.comparator_(node.value, value) > 0) { 91 retNode = node.left; 92 } else if(this.comparator_(node.value, value) < 0) { 93 retNode = node.right; 94 } else { 95 isContained = true; 96 } 97 return retNode; 98 }); 99 return isContained; 100}; 101goog.structs.AvlTree.prototype.getCount = function() { 102 return this.count_; 103}; 104goog.structs.AvlTree.prototype.getMinimum = function() { 105 return this.getMinNode_().value; 106}; 107goog.structs.AvlTree.prototype.getMaximum = function() { 108 return this.getMaxNode_().value; 109}; 110goog.structs.AvlTree.prototype.getHeight = function() { 111 return this.root_ ? this.root_.height: 0; 112}; 113goog.structs.AvlTree.prototype.getValues = function() { 114 var ret =[]; 115 this.inOrderTraverse(function(value) { 116 ret.push(value); 117 }); 118 return ret; 119}; 120goog.structs.AvlTree.prototype.inOrderTraverse = function(func, opt_startValue) { 121 if(! this.root_) { 122 return; 123 } 124 var startNode; 125 if(opt_startValue) { 126 this.traverse_(function(node) { 127 var retNode = null; 128 if(this.comparator_(node.value, opt_startValue) > 0) { 129 retNode = node.left; 130 startNode = node; 131 } else if(this.comparator_(node.value, opt_startValue) < 0) { 132 retNode = node.right; 133 } else { 134 startNode = node; 135 } 136 return retNode; 137 }); 138 } else { 139 startNode = this.getMinNode_(); 140 } 141 var node = startNode, prev = startNode.left ? startNode.left: startNode; 142 while(node != null) { 143 if(node.left != null && node.left != prev && node.right != prev) { 144 node = node.left; 145 } else { 146 if(node.right != prev) { 147 if(func(node.value)) { 148 return; 149 } 150 } 151 var temp = node; 152 node = node.right != null && node.right != prev ? node.right: node.parent; 153 prev = temp; 154 } 155 } 156}; 157goog.structs.AvlTree.prototype.reverseOrderTraverse = function(func, opt_startValue) { 158 if(! this.root_) { 159 return; 160 } 161 var startNode; 162 if(opt_startValue) { 163 this.traverse_(goog.bind(function(node) { 164 var retNode = null; 165 if(this.comparator_(node.value, opt_startValue) > 0) { 166 retNode = node.left; 167 } else if(this.comparator_(node.value, opt_startValue) < 0) { 168 retNode = node.right; 169 startNode = node; 170 } else { 171 startNode = node; 172 } 173 return retNode; 174 }, this)); 175 } else { 176 startNode = this.getMaxNode_(); 177 } 178 var node = startNode, prev = startNode.right ? startNode.right: startNode; 179 while(node != null) { 180 if(node.right != null && node.right != prev && node.left != prev) { 181 node = node.right; 182 } else { 183 if(node.left != prev) { 184 if(func(node.value)) { 185 return; 186 } 187 } 188 var temp = node; 189 node = node.left != null && node.left != prev ? node.left: node.parent; 190 prev = temp; 191 } 192 } 193}; 194goog.structs.AvlTree.prototype.traverse_ = function(traversalFunc, opt_startNode, opt_endNode) { 195 var node = opt_startNode ? opt_startNode: this.root_; 196 var endNode = opt_endNode ? opt_endNode: null; 197 while(node && node != endNode) { 198 node = traversalFunc.call(this, node); 199 } 200}; 201goog.structs.AvlTree.prototype.balance_ = function(node) { 202 this.traverse_(function(node) { 203 var lh = node.left ? node.left.height: 0; 204 var rh = node.right ? node.right.height: 0; 205 if(lh - rh > 1) { 206 if(node.left.right &&(! node.left.left || node.left.left.height < node.left.right.height)) { 207 this.leftRotate_(node.left); 208 } 209 this.rightRotate_(node); 210 } else if(rh - lh > 1) { 211 if(node.right.left &&(! node.right.right || node.right.right.height < node.right.left.height)) { 212 this.rightRotate_(node.right); 213 } 214 this.leftRotate_(node); 215 } 216 lh = node.left ? node.left.height: 0; 217 rh = node.right ? node.right.height: 0; 218 node.height = Math.max(lh, rh) + 1; 219 return node.parent; 220 }, node); 221}; 222goog.structs.AvlTree.prototype.leftRotate_ = function(node) { 223 if(node.isLeftChild()) { 224 node.parent.left = node.right; 225 node.right.parent = node.parent; 226 } else if(node.isRightChild()) { 227 node.parent.right = node.right; 228 node.right.parent = node.parent; 229 } else { 230 this.root_ = node.right; 231 this.root_.parent = null; 232 } 233 var temp = node.right; 234 node.right = node.right.left; 235 if(node.right != null) node.right.parent = node; 236 temp.left = node; 237 node.parent = temp; 238}; 239goog.structs.AvlTree.prototype.rightRotate_ = function(node) { 240 if(node.isLeftChild()) { 241 node.parent.left = node.left; 242 node.left.parent = node.parent; 243 } else if(node.isRightChild()) { 244 node.parent.right = node.left; 245 node.left.parent = node.parent; 246 } else { 247 this.root_ = node.left; 248 this.root_.parent = null; 249 } 250 var temp = node.left; 251 node.left = node.left.right; 252 if(node.left != null) node.left.parent = node; 253 temp.right = node; 254 node.parent = temp; 255}; 256goog.structs.AvlTree.prototype.removeNode_ = function(node) { 257 if(node.left != null || node.right != null) { 258 var b = null; 259 var r; 260 if(node.left != null) { 261 r = this.getMaxNode_(node.left); 262 if(r != node.left) { 263 r.parent.right = r.left; 264 if(r.left) r.left.parent = r.parent; 265 r.left = node.left; 266 r.left.parent = r; 267 b = r.parent; 268 } 269 r.parent = node.parent; 270 r.right = node.right; 271 if(r.right) r.right.parent = r; 272 if(node == this.maxNode_) this.maxNode_ = r; 273 } else { 274 r = this.getMinNode_(node.right); 275 if(r != node.right) { 276 r.parent.left = r.right; 277 if(r.right) r.right.parent = r.parent; 278 r.right = node.right; 279 r.right.parent = r; 280 b = r.parent; 281 } 282 r.parent = node.parent; 283 r.left = node.left; 284 if(r.left) r.left.parent = r; 285 if(node == this.minNode_) this.minNode_ = r; 286 } 287 if(node.isLeftChild()) { 288 node.parent.left = r; 289 } else if(node.isRightChild()) { 290 node.parent.right = r; 291 } else { 292 this.root_ = r; 293 } 294 this.balance_(b ? b: r); 295 } else { 296 if(node.isLeftChild()) { 297 this.special = 1; 298 node.parent.left = null; 299 if(node == this.minNode_) this.minNode_ = node.parent; 300 this.balance_(node.parent); 301 } else if(node.isRightChild()) { 302 node.parent.right = null; 303 if(node == this.maxNode_) this.maxNode_ = node.parent; 304 this.balance_(node.parent); 305 } else { 306 this.clear(); 307 } 308 } 309}; 310goog.structs.AvlTree.prototype.getMinNode_ = function(opt_rootNode) { 311 if(! opt_rootNode) { 312 return this.minNode_; 313 } 314 var minNode = opt_rootNode; 315 this.traverse_(function(node) { 316 var retNode = null; 317 if(node.left) { 318 minNode = node.left; 319 retNode = node.left; 320 } 321 return retNode; 322 }, opt_rootNode); 323 return minNode; 324}; 325goog.structs.AvlTree.prototype.getMaxNode_ = function(opt_rootNode) { 326 if(! opt_rootNode) { 327 return this.maxNode_; 328 } 329 var maxNode = opt_rootNode; 330 this.traverse_(function(node) { 331 var retNode = null; 332 if(node.right) { 333 maxNode = node.right; 334 retNode = node.right; 335 } 336 return retNode; 337 }, opt_rootNode); 338 return maxNode; 339}; 340goog.structs.AvlTree.Node = function(value, opt_parent) { 341 this.value = value; 342 this.parent = opt_parent ? opt_parent: null; 343}; 344goog.structs.AvlTree.Node.prototype.left = null; 345goog.structs.AvlTree.Node.prototype.right = null; 346goog.structs.AvlTree.Node.prototype.height = 1; 347goog.structs.AvlTree.Node.prototype.isRightChild = function() { 348 return ! ! this.parent && this.parent.right == this; 349}; 350goog.structs.AvlTree.Node.prototype.isLeftChild = function() { 351 return ! ! this.parent && this.parent.left == this; ...

Full Screen

Full Screen

NodeGuards.d.ts

Source:NodeGuards.d.ts Github

copy

Full Screen

1import * as ESTree from 'estree';2import { TNodeWithLexicalScope } from '../types/node/TNodeWithLexicalScope';3import { TNodeWithLexicalScopeStatements } from '../types/node/TNodeWithLexicalScopeStatements';4import { TNodeWithSingleStatementBody } from '../types/node/TNodeWithSingleStatementBody';5import { TNodeWithStatements } from '../types/node/TNodeWithStatements';6export declare class NodeGuards {7 private static readonly nodesWithLexicalStatements;8 static isArrayPatternNode(node: ESTree.Node): node is ESTree.ArrayPattern;9 static isArrowFunctionExpressionNode(node: ESTree.Node): node is ESTree.ArrowFunctionExpression;10 static isAssignmentExpressionNode(node: ESTree.Node): node is ESTree.AssignmentExpression;11 static isAssignmentPatternNode(node: ESTree.Node): node is ESTree.AssignmentPattern;12 static isAwaitExpressionNode(node: ESTree.Node): node is ESTree.AwaitExpression;13 static isBigIntLiteralNode(node: ESTree.Node): node is ESTree.BigIntLiteral;14 static isBlockStatementNode(node: ESTree.Node): node is ESTree.BlockStatement;15 static isBreakStatementNode(node: ESTree.Node): node is ESTree.BreakStatement;16 static isCallExpressionNode(node: ESTree.Node): node is ESTree.CallExpression;17 static isClassBodyNode(node: ESTree.Node): node is ESTree.ClassBody;18 static isClassDeclarationNode(node: ESTree.Node): node is ESTree.ClassDeclaration & {19 id: ESTree.Identifier;20 };21 static isConditionalExpressionNode(node: ESTree.Node): node is ESTree.ConditionalExpression;22 static isContinueStatementNode(node: ESTree.Node): node is ESTree.ContinueStatement;23 static isDirectiveNode(node: ESTree.Node): node is ESTree.Directive;24 static isDoWhileStatementNode(node: ESTree.Node): node is ESTree.DoWhileStatement;25 static isExportAllDeclarationNode(node: ESTree.Node): node is ESTree.ExportAllDeclaration;26 static isExportNamedDeclarationNode(node: ESTree.Node): node is ESTree.ExportNamedDeclaration;27 static isExportSpecifierNode(node: ESTree.Node): node is ESTree.ExportSpecifier;28 static isExpressionStatementNode(node: ESTree.Node): node is ESTree.ExpressionStatement;29 static isForStatementNode(node: ESTree.Node): node is ESTree.ForStatement;30 static isForInStatementNode(node: ESTree.Node): node is ESTree.ForInStatement;31 static isForOfStatementNode(node: ESTree.Node): node is ESTree.ForOfStatement;32 static isFunctionNode(node: ESTree.Node): node is ESTree.Function;33 static isFunctionDeclarationNode(node: ESTree.Node): node is ESTree.FunctionDeclaration & {34 id: ESTree.Identifier;35 };36 static isFunctionExpressionNode(node: ESTree.Node): node is ESTree.FunctionExpression;37 static isIdentifierNode(node: ESTree.Node): node is ESTree.Identifier;38 static isIfStatementNode(node: ESTree.Node): node is ESTree.IfStatement;39 static isIfStatementNodeWithSingleStatementBody(node: ESTree.Node): node is ESTree.IfStatement;40 static isImportDeclarationNode(node: ESTree.Node): node is ESTree.ImportDeclaration;41 static isImportSpecifierNode(node: ESTree.Node): node is ESTree.ImportSpecifier;42 static isLabelIdentifierNode(node: ESTree.Node, parentNode: ESTree.Node): node is ESTree.Identifier;43 static isLabeledStatementNode(node: ESTree.Node): node is ESTree.LabeledStatement;44 static isLiteralNode(node: ESTree.Node): node is ESTree.Literal;45 static isLogicalExpressionNode(node: ESTree.Node): node is ESTree.LogicalExpression;46 static isMemberExpressionNode(node: ESTree.Node): node is ESTree.MemberExpression;47 static isMethodDefinitionNode(node: ESTree.Node): node is ESTree.MethodDefinition;48 static isNewExpressionNode(node: ESTree.Node): node is ESTree.NewExpression;49 static isNode(object: Object & {50 type?: string;51 }): object is ESTree.Node;52 static isNodeWithLexicalScope(node: ESTree.Node): node is TNodeWithLexicalScope;53 static isNodeWithBlockLexicalScope(node: ESTree.Node): node is TNodeWithLexicalScope;54 static isNodeWithSingleStatementBody(node: ESTree.Node): node is TNodeWithSingleStatementBody;55 static isNodeWithLexicalScopeStatements(node: ESTree.Node, parentNode: ESTree.Node): node is TNodeWithLexicalScopeStatements;56 static isNodeWithStatements(node: ESTree.Node): node is TNodeWithStatements;57 static isNodeWithComments(node: ESTree.Node): node is ESTree.Node;58 static isObjectPatternNode(node: ESTree.Node): node is ESTree.ObjectPattern;59 static isObjectExpressionNode(node: ESTree.Node): node is ESTree.ObjectExpression;60 static isProgramNode(node: ESTree.Node): node is ESTree.Program;61 static isPropertyNode(node: ESTree.Node): node is ESTree.Property;62 static isPropertyDefinitionNode(node: ESTree.Node): node is ESTree.PropertyDefinition;63 static isRestElementNode(node: ESTree.Node): node is ESTree.RestElement;64 static isReturnStatementNode(node: ESTree.Node): node is ESTree.ReturnStatement;65 static isSequenceExpressionNode(node: ESTree.Node): node is ESTree.SequenceExpression;66 static isSpreadElementNode(node: ESTree.Node): node is ESTree.SpreadElement;67 static isSuperNode(node: ESTree.Node): node is ESTree.Super;68 static isSwitchCaseNode(node: ESTree.Node): node is ESTree.SwitchCase;69 static isTaggedTemplateExpressionNode(node: ESTree.Node): node is ESTree.TaggedTemplateExpression;70 static isTemplateLiteralNode(node: ESTree.Node): node is ESTree.TemplateLiteral;71 static isThisExpressionNode(node: ESTree.Node): node is ESTree.ThisExpression;72 static isUnaryExpressionNode(node: ESTree.Node): node is ESTree.UnaryExpression;73 static isVariableDeclarationNode(node: ESTree.Node): node is ESTree.VariableDeclaration;74 static isVariableDeclaratorNode(node: ESTree.Node): node is ESTree.VariableDeclarator;75 static isWithStatementNode(node: ESTree.Node): node is ESTree.WithStatement;76 static isWhileStatementNode(node: ESTree.Node): node is ESTree.WhileStatement;77 static isYieldExpressionNode(node: ESTree.Node): node is ESTree.YieldExpression;...

Full Screen

Full Screen

navtree.js

Source:navtree.js Github

copy

Full Screen

1var NAVTREE =2[3 [ "CMSIS", "index.html", [4 [ "Introduction", "index.html", null ]5 ] ]6];7function createIndent(o,domNode,node,level)8{9 if (node.parentNode && node.parentNode.parentNode)10 {11 createIndent(o,domNode,node.parentNode,level+1);12 }13 var imgNode = document.createElement("img");14 if (level==0 && node.childrenData)15 {16 node.plus_img = imgNode;17 node.expandToggle = document.createElement("a");18 node.expandToggle.href = "javascript:void(0)";19 node.expandToggle.onclick = function() 20 {21 if (node.expanded) 22 {23 $(node.getChildrenUL()).slideUp("fast");24 if (node.isLast)25 {26 node.plus_img.src = node.relpath+"ftv2plastnode.png";27 }28 else29 {30 node.plus_img.src = node.relpath+"ftv2pnode.png";31 }32 node.expanded = false;33 } 34 else 35 {36 expandNode(o, node, false);37 }38 }39 node.expandToggle.appendChild(imgNode);40 domNode.appendChild(node.expandToggle);41 }42 else43 {44 domNode.appendChild(imgNode);45 }46 if (level==0)47 {48 if (node.isLast)49 {50 if (node.childrenData)51 {52 imgNode.src = node.relpath+"ftv2plastnode.png";53 }54 else55 {56 imgNode.src = node.relpath+"ftv2lastnode.png";57 domNode.appendChild(imgNode);58 }59 }60 else61 {62 if (node.childrenData)63 {64 imgNode.src = node.relpath+"ftv2pnode.png";65 }66 else67 {68 imgNode.src = node.relpath+"ftv2node.png";69 domNode.appendChild(imgNode);70 }71 }72 }73 else74 {75 if (node.isLast)76 {77 imgNode.src = node.relpath+"ftv2blank.png";78 }79 else80 {81 imgNode.src = node.relpath+"ftv2vertline.png";82 }83 }84 imgNode.border = "0";85}86function newNode(o, po, text, link, childrenData, lastNode)87{88 var node = new Object();89 node.children = Array();90 node.childrenData = childrenData;91 node.depth = po.depth + 1;92 node.relpath = po.relpath;93 node.isLast = lastNode;94 node.li = document.createElement("li");95 po.getChildrenUL().appendChild(node.li);96 node.parentNode = po;97 node.itemDiv = document.createElement("div");98 node.itemDiv.className = "item";99 node.labelSpan = document.createElement("span");100 node.labelSpan.className = "label";101 createIndent(o,node.itemDiv,node,0);102 node.itemDiv.appendChild(node.labelSpan);103 node.li.appendChild(node.itemDiv);104 var a = document.createElement("a");105 node.labelSpan.appendChild(a);106 node.label = document.createTextNode(text);107 a.appendChild(node.label);108 if (link) 109 {110 a.href = node.relpath+link;111 } 112 else 113 {114 if (childrenData != null) 115 {116 a.className = "nolink";117 a.href = "javascript:void(0)";118 a.onclick = node.expandToggle.onclick;119 node.expanded = false;120 }121 }122 node.childrenUL = null;123 node.getChildrenUL = function() 124 {125 if (!node.childrenUL) 126 {127 node.childrenUL = document.createElement("ul");128 node.childrenUL.className = "children_ul";129 node.childrenUL.style.display = "none";130 node.li.appendChild(node.childrenUL);131 }132 return node.childrenUL;133 };134 return node;135}136function showRoot()137{138 var headerHeight = $("#top").height();139 var footerHeight = $("#nav-path").height();140 var windowHeight = $(window).height() - headerHeight - footerHeight;141 navtree.scrollTo('#selected',0,{offset:-windowHeight/2});142}143function expandNode(o, node, imm)144{145 if (node.childrenData && !node.expanded) 146 {147 if (!node.childrenVisited) 148 {149 getNode(o, node);150 }151 if (imm)152 {153 $(node.getChildrenUL()).show();154 } 155 else 156 {157 $(node.getChildrenUL()).slideDown("fast",showRoot);158 }159 if (node.isLast)160 {161 node.plus_img.src = node.relpath+"ftv2mlastnode.png";162 }163 else164 {165 node.plus_img.src = node.relpath+"ftv2mnode.png";166 }167 node.expanded = true;168 }169}170function getNode(o, po)171{172 po.childrenVisited = true;173 var l = po.childrenData.length-1;174 for (var i in po.childrenData) 175 {176 var nodeData = po.childrenData[i];177 po.children[i] = newNode(o, po, nodeData[0], nodeData[1], nodeData[2],178 i==l);179 }180}181function findNavTreePage(url, data)182{183 var nodes = data;184 var result = null;185 for (var i in nodes) 186 {187 var d = nodes[i];188 if (d[1] == url) 189 {190 return new Array(i);191 }192 else if (d[2] != null) // array of children193 {194 result = findNavTreePage(url, d[2]);195 if (result != null) 196 {197 return (new Array(i).concat(result));198 }199 }200 }201 return null;202}203function initNavTree(toroot,relpath)204{205 var o = new Object();206 o.toroot = toroot;207 o.node = new Object();208 o.node.li = document.getElementById("nav-tree-contents");209 o.node.childrenData = NAVTREE;210 o.node.children = new Array();211 o.node.childrenUL = document.createElement("ul");212 o.node.getChildrenUL = function() { return o.node.childrenUL; };213 o.node.li.appendChild(o.node.childrenUL);214 o.node.depth = 0;215 o.node.relpath = relpath;216 getNode(o, o.node);217 o.breadcrumbs = findNavTreePage(toroot, NAVTREE);218 if (o.breadcrumbs == null)219 {220 o.breadcrumbs = findNavTreePage("index.html",NAVTREE);221 }222 if (o.breadcrumbs != null && o.breadcrumbs.length>0)223 {224 var p = o.node;225 for (var i in o.breadcrumbs) 226 {227 var j = o.breadcrumbs[i];228 p = p.children[j];229 expandNode(o,p,true);230 }231 p.itemDiv.className = p.itemDiv.className + " selected";232 p.itemDiv.id = "selected";233 $(window).load(showRoot);234 }...

Full Screen

Full Screen

Nodes.js

Source:Nodes.js Github

copy

Full Screen

1// core2import ArrayInputNode from './core/ArrayInputNode.js';3import AttributeNode from './core/AttributeNode.js';4import CodeNode from './core/CodeNode.js';5import ConstNode from './core/ConstNode.js';6import ContextNode from './core/ContextNode.js';7import ExpressionNode from './core/ExpressionNode.js';8import FunctionCallNode from './core/FunctionCallNode.js';9import FunctionNode from './core/FunctionNode.js';10import InputNode from './core/InputNode.js';11import Node from './core/Node.js';12import NodeAttribute from './core/NodeAttribute.js';13import NodeBuilder from './core/NodeBuilder.js';14import NodeCode from './core/NodeCode.js';15import NodeFrame from './core/NodeFrame.js';16import NodeFunctionInput from './core/NodeFunctionInput.js';17import NodeKeywords from './core/NodeKeywords.js';18import NodeSlot from './core/NodeSlot.js';19import NodeUniform from './core/NodeUniform.js';20import NodeVar from './core/NodeVar.js';21import NodeVary from './core/NodeVary.js';22import PropertyNode from './core/PropertyNode.js';23import StructNode from './core/StructNode.js';24import StructVarNode from './core/StructVarNode.js';25import TempNode from './core/TempNode.js';26import VarNode from './core/VarNode.js';27import VaryNode from './core/VaryNode.js';28// accessors29import CameraNode from './accessors/CameraNode.js';30import MaterialNode from './accessors/MaterialNode.js';31import MaterialReferenceNode from './accessors/MaterialReferenceNode.js';32import ModelNode from './accessors/ModelNode.js';33import ModelViewProjectionNode from './accessors/ModelViewProjectionNode.js';34import NormalNode from './accessors/NormalNode.js';35import Object3DNode from './accessors/Object3DNode.js';36import PointUVNode from './accessors/PointUVNode.js';37import PositionNode from './accessors/PositionNode.js';38import ReferenceNode from './accessors/ReferenceNode.js';39import UVNode from './accessors/UVNode.js';40// inputs41import ColorNode from './inputs/ColorNode.js';42import FloatNode from './inputs/FloatNode.js';43import Matrix3Node from './inputs/Matrix3Node.js';44import Matrix4Node from './inputs/Matrix3Node.js';45import TextureNode from './inputs/TextureNode.js';46import Vector2Node from './inputs/Vector2Node.js';47import Vector3Node from './inputs/Vector3Node.js';48import Vector4Node from './inputs/Vector4Node.js';49// display50import ColorSpaceNode from './display/ColorSpaceNode.js';51import NormalMapNode from './display/NormalMapNode.js';52// math53import MathNode from './math/MathNode.js';54import OperatorNode from './math/OperatorNode.js';55// lights56import LightContextNode from './lights/LightContextNode.js';57import LightNode from './lights/LightNode.js';58import LightsNode from './lights/LightsNode.js';59// utils60import JoinNode from './utils/JoinNode.js';61import SplitNode from './utils/SplitNode.js';62import SpriteSheetUVNode from './utils/SpriteSheetUVNode.js';63import TimerNode from './utils/TimerNode.js';64// procedural65import CheckerNode from './procedural/CheckerNode.js';66// core67export * from './core/constants.js';68// functions69export * from './functions/BSDFs.js';70export * from './functions/EncodingFunctions.js';71export * from './functions/MathFunctions.js';72// consts73export * from './consts/MathConsts.js';74// materials75export * from './materials/Materials.js';76export {77 // core78 ArrayInputNode,79 AttributeNode,80 CodeNode,81 ConstNode,82 ContextNode,83 ExpressionNode,84 FunctionCallNode,85 FunctionNode,86 InputNode,87 Node,88 NodeAttribute,89 NodeBuilder,90 NodeCode,91 NodeFrame,92 NodeFunctionInput,93 NodeKeywords,94 NodeSlot,95 NodeUniform,96 NodeVar,97 NodeVary,98 PropertyNode,99 StructNode,100 StructVarNode,101 TempNode,102 VarNode,103 VaryNode,104 // accessors105 CameraNode,106 MaterialNode,107 MaterialReferenceNode,108 ModelNode,109 ModelViewProjectionNode,110 NormalNode,111 Object3DNode,112 PointUVNode,113 PositionNode,114 ReferenceNode,115 UVNode,116 // inputs117 ColorNode,118 FloatNode,119 Matrix3Node,120 Matrix4Node,121 TextureNode,122 Vector2Node,123 Vector3Node,124 Vector4Node,125 // display126 ColorSpaceNode,127 NormalMapNode,128 // math129 MathNode,130 OperatorNode,131 // lights132 LightContextNode,133 LightNode,134 LightsNode,135 // utils136 JoinNode,137 SplitNode,138 SpriteSheetUVNode,139 TimerNode,140 // procedural141 CheckerNode...

Full Screen

Full Screen

Using AI Code Generation

copy

Full Screen

1var wpt = require('webpagetest');2var wpt = new WebPageTest('www.webpagetest.org');3 if (err) return console.error(err);4 console.log('Test submitted to WebPagetest for %s', data.testId);5 console.log('Test will run from %s', data.from);6});7var exec = require('child_process').exec;8exec(cmd, function(error, stdout, stderr) {9 console.log(stdout);10});11var PythonShell = require('python-shell');12var options = {13};14PythonShell.run('wpt.py', options, function (err, results) {15 if (err) throw err;16 console.log('results: %j', results);17});18var ruby = require('ruby-script');19 if (err) throw err;20 console.log('results: %j', results);21});22var php = require('php-script');23 if (err) throw err;24 console.log('results: %j', results);25});

Full Screen

Using AI Code Generation

copy

Full Screen

1var wpt = require('webpagetest')('www.webpagetest.org', 'A.7d9e6b7f7e4d8f7e4d8f7e4d8f7e4d8');2var location = 'Dulles:Chrome';3var runs = 1;4var firstViewOnly = false;5var pollResults = 5;6var timeout = 60;7wpt.runTest(url, {8}, function(err, data) {9 if (err) return console.error(err);10 console.log('Test ID: ' + data.data.testId);11 console.log('Test status: ' + data.data.statusText);12 console.log('Test URL: ' + data.data.summary);13 console.log('Test results URL: ' + data.data.userUrl);14});

Full Screen

Using AI Code Generation

copy

Full Screen

1var wpt = require('./wpt.js');2 console.log(data);3});4var request = require('request');5var querystring = require('querystring');6var wpt = function() {7 this.options = {8 };9 this.runTest = function(url, label, callback) {10 var options = this.options;11 options.url = url;12 options.label = label;13 request(url, function(error, response, body) {14 if (!error && response.statusCode == 200) {15 callback(body);16 }17 });18 };19};20module.exports = new wpt();

Full Screen

Using AI Code Generation

copy

Full Screen

1var wptool = require('wptool');2wptool('www.google.com', function (err, data) {3 if (err) throw err;4 console.log(data);5});6var spawn = require('child_process').spawn7var wptool = spawn('wptool', ['www.google.com']);8wptool.stdout.on('data', function (data) {9 console.log('stdout: ' + data);10});11wptool.stderr.on('data', function (data) {12 console.log('stderr: ' + data);13});14wptool.on('close', function (code) {15 console.log('child process exited with code ' + code);16});17echo shell_exec("wptool www.google.com");18echo shell_exec("wptool www.google.com");19import subprocess20subprocess.call(["wptool", "www.google.com"])21import subprocess22subprocess.call(["wptool", "www.google.com"])23system("wptool www.google.com")24system("wptool www.google.com")25system("wptool www.google.com")26system("wptool www.google.com")27int main() {28 system("wptool www.google.com");29 return 0;30}31int main() {32 system("wptool www.google.com");33 return 0;34}

Full Screen

Using AI Code Generation

copy

Full Screen

1var wpt = require('webpagetest');2var options = {3};4var test = new wpt(options);5 if (err) return console.error(err);6 console.log('Test status: ' + data.statusText);7 var testId = data.data.testId;8 test.getTestResults(testId, function(err, data) {9 if (err) return console.error(err);10 console.log('Test results: ' + data.data.average.firstView.loadTime);11 });12});13: Host to use (default: www.webpagetest.org)14: Port to use (default: 80)15: Timeout in milliseconds (default: 30000)16: Location to test from (default: Dulles_MotoG3)17: Number of test runs to average (default: 3)18: Polling interval in milliseconds for test results (default: 5000)19: Capture video of the test (default: true)20: Capture a timeline of the test (default: true)

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run wpt automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful