"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
value: true
|
});
|
exports.anyTypeAnnotation = anyTypeAnnotation;
|
exports.argumentPlaceholder = argumentPlaceholder;
|
exports.arrayExpression = arrayExpression;
|
exports.arrayPattern = arrayPattern;
|
exports.arrayTypeAnnotation = arrayTypeAnnotation;
|
exports.arrowFunctionExpression = arrowFunctionExpression;
|
exports.assignmentExpression = assignmentExpression;
|
exports.assignmentPattern = assignmentPattern;
|
exports.awaitExpression = awaitExpression;
|
exports.bigIntLiteral = bigIntLiteral;
|
exports.binaryExpression = binaryExpression;
|
exports.bindExpression = bindExpression;
|
exports.blockStatement = blockStatement;
|
exports.booleanLiteral = booleanLiteral;
|
exports.booleanLiteralTypeAnnotation = booleanLiteralTypeAnnotation;
|
exports.booleanTypeAnnotation = booleanTypeAnnotation;
|
exports.breakStatement = breakStatement;
|
exports.callExpression = callExpression;
|
exports.catchClause = catchClause;
|
exports.classAccessorProperty = classAccessorProperty;
|
exports.classBody = classBody;
|
exports.classDeclaration = classDeclaration;
|
exports.classExpression = classExpression;
|
exports.classImplements = classImplements;
|
exports.classMethod = classMethod;
|
exports.classPrivateMethod = classPrivateMethod;
|
exports.classPrivateProperty = classPrivateProperty;
|
exports.classProperty = classProperty;
|
exports.conditionalExpression = conditionalExpression;
|
exports.continueStatement = continueStatement;
|
exports.debuggerStatement = debuggerStatement;
|
exports.decimalLiteral = decimalLiteral;
|
exports.declareClass = declareClass;
|
exports.declareExportAllDeclaration = declareExportAllDeclaration;
|
exports.declareExportDeclaration = declareExportDeclaration;
|
exports.declareFunction = declareFunction;
|
exports.declareInterface = declareInterface;
|
exports.declareModule = declareModule;
|
exports.declareModuleExports = declareModuleExports;
|
exports.declareOpaqueType = declareOpaqueType;
|
exports.declareTypeAlias = declareTypeAlias;
|
exports.declareVariable = declareVariable;
|
exports.declaredPredicate = declaredPredicate;
|
exports.decorator = decorator;
|
exports.directive = directive;
|
exports.directiveLiteral = directiveLiteral;
|
exports.doExpression = doExpression;
|
exports.doWhileStatement = doWhileStatement;
|
exports.emptyStatement = emptyStatement;
|
exports.emptyTypeAnnotation = emptyTypeAnnotation;
|
exports.enumBooleanBody = enumBooleanBody;
|
exports.enumBooleanMember = enumBooleanMember;
|
exports.enumDeclaration = enumDeclaration;
|
exports.enumDefaultedMember = enumDefaultedMember;
|
exports.enumNumberBody = enumNumberBody;
|
exports.enumNumberMember = enumNumberMember;
|
exports.enumStringBody = enumStringBody;
|
exports.enumStringMember = enumStringMember;
|
exports.enumSymbolBody = enumSymbolBody;
|
exports.existsTypeAnnotation = existsTypeAnnotation;
|
exports.exportAllDeclaration = exportAllDeclaration;
|
exports.exportDefaultDeclaration = exportDefaultDeclaration;
|
exports.exportDefaultSpecifier = exportDefaultSpecifier;
|
exports.exportNamedDeclaration = exportNamedDeclaration;
|
exports.exportNamespaceSpecifier = exportNamespaceSpecifier;
|
exports.exportSpecifier = exportSpecifier;
|
exports.expressionStatement = expressionStatement;
|
exports.file = file;
|
exports.forInStatement = forInStatement;
|
exports.forOfStatement = forOfStatement;
|
exports.forStatement = forStatement;
|
exports.functionDeclaration = functionDeclaration;
|
exports.functionExpression = functionExpression;
|
exports.functionTypeAnnotation = functionTypeAnnotation;
|
exports.functionTypeParam = functionTypeParam;
|
exports.genericTypeAnnotation = genericTypeAnnotation;
|
exports.identifier = identifier;
|
exports.ifStatement = ifStatement;
|
exports.import = _import;
|
exports.importAttribute = importAttribute;
|
exports.importDeclaration = importDeclaration;
|
exports.importDefaultSpecifier = importDefaultSpecifier;
|
exports.importExpression = importExpression;
|
exports.importNamespaceSpecifier = importNamespaceSpecifier;
|
exports.importSpecifier = importSpecifier;
|
exports.indexedAccessType = indexedAccessType;
|
exports.inferredPredicate = inferredPredicate;
|
exports.interfaceDeclaration = interfaceDeclaration;
|
exports.interfaceExtends = interfaceExtends;
|
exports.interfaceTypeAnnotation = interfaceTypeAnnotation;
|
exports.interpreterDirective = interpreterDirective;
|
exports.intersectionTypeAnnotation = intersectionTypeAnnotation;
|
exports.jSXAttribute = exports.jsxAttribute = jsxAttribute;
|
exports.jSXClosingElement = exports.jsxClosingElement = jsxClosingElement;
|
exports.jSXClosingFragment = exports.jsxClosingFragment = jsxClosingFragment;
|
exports.jSXElement = exports.jsxElement = jsxElement;
|
exports.jSXEmptyExpression = exports.jsxEmptyExpression = jsxEmptyExpression;
|
exports.jSXExpressionContainer = exports.jsxExpressionContainer = jsxExpressionContainer;
|
exports.jSXFragment = exports.jsxFragment = jsxFragment;
|
exports.jSXIdentifier = exports.jsxIdentifier = jsxIdentifier;
|
exports.jSXMemberExpression = exports.jsxMemberExpression = jsxMemberExpression;
|
exports.jSXNamespacedName = exports.jsxNamespacedName = jsxNamespacedName;
|
exports.jSXOpeningElement = exports.jsxOpeningElement = jsxOpeningElement;
|
exports.jSXOpeningFragment = exports.jsxOpeningFragment = jsxOpeningFragment;
|
exports.jSXSpreadAttribute = exports.jsxSpreadAttribute = jsxSpreadAttribute;
|
exports.jSXSpreadChild = exports.jsxSpreadChild = jsxSpreadChild;
|
exports.jSXText = exports.jsxText = jsxText;
|
exports.labeledStatement = labeledStatement;
|
exports.logicalExpression = logicalExpression;
|
exports.memberExpression = memberExpression;
|
exports.metaProperty = metaProperty;
|
exports.mixedTypeAnnotation = mixedTypeAnnotation;
|
exports.moduleExpression = moduleExpression;
|
exports.newExpression = newExpression;
|
exports.noop = noop;
|
exports.nullLiteral = nullLiteral;
|
exports.nullLiteralTypeAnnotation = nullLiteralTypeAnnotation;
|
exports.nullableTypeAnnotation = nullableTypeAnnotation;
|
exports.numberLiteral = NumberLiteral;
|
exports.numberLiteralTypeAnnotation = numberLiteralTypeAnnotation;
|
exports.numberTypeAnnotation = numberTypeAnnotation;
|
exports.numericLiteral = numericLiteral;
|
exports.objectExpression = objectExpression;
|
exports.objectMethod = objectMethod;
|
exports.objectPattern = objectPattern;
|
exports.objectProperty = objectProperty;
|
exports.objectTypeAnnotation = objectTypeAnnotation;
|
exports.objectTypeCallProperty = objectTypeCallProperty;
|
exports.objectTypeIndexer = objectTypeIndexer;
|
exports.objectTypeInternalSlot = objectTypeInternalSlot;
|
exports.objectTypeProperty = objectTypeProperty;
|
exports.objectTypeSpreadProperty = objectTypeSpreadProperty;
|
exports.opaqueType = opaqueType;
|
exports.optionalCallExpression = optionalCallExpression;
|
exports.optionalIndexedAccessType = optionalIndexedAccessType;
|
exports.optionalMemberExpression = optionalMemberExpression;
|
exports.parenthesizedExpression = parenthesizedExpression;
|
exports.pipelineBareFunction = pipelineBareFunction;
|
exports.pipelinePrimaryTopicReference = pipelinePrimaryTopicReference;
|
exports.pipelineTopicExpression = pipelineTopicExpression;
|
exports.placeholder = placeholder;
|
exports.privateName = privateName;
|
exports.program = program;
|
exports.qualifiedTypeIdentifier = qualifiedTypeIdentifier;
|
exports.recordExpression = recordExpression;
|
exports.regExpLiteral = regExpLiteral;
|
exports.regexLiteral = RegexLiteral;
|
exports.restElement = restElement;
|
exports.restProperty = RestProperty;
|
exports.returnStatement = returnStatement;
|
exports.sequenceExpression = sequenceExpression;
|
exports.spreadElement = spreadElement;
|
exports.spreadProperty = SpreadProperty;
|
exports.staticBlock = staticBlock;
|
exports.stringLiteral = stringLiteral;
|
exports.stringLiteralTypeAnnotation = stringLiteralTypeAnnotation;
|
exports.stringTypeAnnotation = stringTypeAnnotation;
|
exports.super = _super;
|
exports.switchCase = switchCase;
|
exports.switchStatement = switchStatement;
|
exports.symbolTypeAnnotation = symbolTypeAnnotation;
|
exports.taggedTemplateExpression = taggedTemplateExpression;
|
exports.templateElement = templateElement;
|
exports.templateLiteral = templateLiteral;
|
exports.thisExpression = thisExpression;
|
exports.thisTypeAnnotation = thisTypeAnnotation;
|
exports.throwStatement = throwStatement;
|
exports.topicReference = topicReference;
|
exports.tryStatement = tryStatement;
|
exports.tSAnyKeyword = exports.tsAnyKeyword = tsAnyKeyword;
|
exports.tSArrayType = exports.tsArrayType = tsArrayType;
|
exports.tSAsExpression = exports.tsAsExpression = tsAsExpression;
|
exports.tSBigIntKeyword = exports.tsBigIntKeyword = tsBigIntKeyword;
|
exports.tSBooleanKeyword = exports.tsBooleanKeyword = tsBooleanKeyword;
|
exports.tSCallSignatureDeclaration = exports.tsCallSignatureDeclaration = tsCallSignatureDeclaration;
|
exports.tSConditionalType = exports.tsConditionalType = tsConditionalType;
|
exports.tSConstructSignatureDeclaration = exports.tsConstructSignatureDeclaration = tsConstructSignatureDeclaration;
|
exports.tSConstructorType = exports.tsConstructorType = tsConstructorType;
|
exports.tSDeclareFunction = exports.tsDeclareFunction = tsDeclareFunction;
|
exports.tSDeclareMethod = exports.tsDeclareMethod = tsDeclareMethod;
|
exports.tSEnumBody = exports.tsEnumBody = tsEnumBody;
|
exports.tSEnumDeclaration = exports.tsEnumDeclaration = tsEnumDeclaration;
|
exports.tSEnumMember = exports.tsEnumMember = tsEnumMember;
|
exports.tSExportAssignment = exports.tsExportAssignment = tsExportAssignment;
|
exports.tSExpressionWithTypeArguments = exports.tsExpressionWithTypeArguments = tsExpressionWithTypeArguments;
|
exports.tSExternalModuleReference = exports.tsExternalModuleReference = tsExternalModuleReference;
|
exports.tSFunctionType = exports.tsFunctionType = tsFunctionType;
|
exports.tSImportEqualsDeclaration = exports.tsImportEqualsDeclaration = tsImportEqualsDeclaration;
|
exports.tSImportType = exports.tsImportType = tsImportType;
|
exports.tSIndexSignature = exports.tsIndexSignature = tsIndexSignature;
|
exports.tSIndexedAccessType = exports.tsIndexedAccessType = tsIndexedAccessType;
|
exports.tSInferType = exports.tsInferType = tsInferType;
|
exports.tSInstantiationExpression = exports.tsInstantiationExpression = tsInstantiationExpression;
|
exports.tSInterfaceBody = exports.tsInterfaceBody = tsInterfaceBody;
|
exports.tSInterfaceDeclaration = exports.tsInterfaceDeclaration = tsInterfaceDeclaration;
|
exports.tSIntersectionType = exports.tsIntersectionType = tsIntersectionType;
|
exports.tSIntrinsicKeyword = exports.tsIntrinsicKeyword = tsIntrinsicKeyword;
|
exports.tSLiteralType = exports.tsLiteralType = tsLiteralType;
|
exports.tSMappedType = exports.tsMappedType = tsMappedType;
|
exports.tSMethodSignature = exports.tsMethodSignature = tsMethodSignature;
|
exports.tSModuleBlock = exports.tsModuleBlock = tsModuleBlock;
|
exports.tSModuleDeclaration = exports.tsModuleDeclaration = tsModuleDeclaration;
|
exports.tSNamedTupleMember = exports.tsNamedTupleMember = tsNamedTupleMember;
|
exports.tSNamespaceExportDeclaration = exports.tsNamespaceExportDeclaration = tsNamespaceExportDeclaration;
|
exports.tSNeverKeyword = exports.tsNeverKeyword = tsNeverKeyword;
|
exports.tSNonNullExpression = exports.tsNonNullExpression = tsNonNullExpression;
|
exports.tSNullKeyword = exports.tsNullKeyword = tsNullKeyword;
|
exports.tSNumberKeyword = exports.tsNumberKeyword = tsNumberKeyword;
|
exports.tSObjectKeyword = exports.tsObjectKeyword = tsObjectKeyword;
|
exports.tSOptionalType = exports.tsOptionalType = tsOptionalType;
|
exports.tSParameterProperty = exports.tsParameterProperty = tsParameterProperty;
|
exports.tSParenthesizedType = exports.tsParenthesizedType = tsParenthesizedType;
|
exports.tSPropertySignature = exports.tsPropertySignature = tsPropertySignature;
|
exports.tSQualifiedName = exports.tsQualifiedName = tsQualifiedName;
|
exports.tSRestType = exports.tsRestType = tsRestType;
|
exports.tSSatisfiesExpression = exports.tsSatisfiesExpression = tsSatisfiesExpression;
|
exports.tSStringKeyword = exports.tsStringKeyword = tsStringKeyword;
|
exports.tSSymbolKeyword = exports.tsSymbolKeyword = tsSymbolKeyword;
|
exports.tSTemplateLiteralType = exports.tsTemplateLiteralType = tsTemplateLiteralType;
|
exports.tSThisType = exports.tsThisType = tsThisType;
|
exports.tSTupleType = exports.tsTupleType = tsTupleType;
|
exports.tSTypeAliasDeclaration = exports.tsTypeAliasDeclaration = tsTypeAliasDeclaration;
|
exports.tSTypeAnnotation = exports.tsTypeAnnotation = tsTypeAnnotation;
|
exports.tSTypeAssertion = exports.tsTypeAssertion = tsTypeAssertion;
|
exports.tSTypeLiteral = exports.tsTypeLiteral = tsTypeLiteral;
|
exports.tSTypeOperator = exports.tsTypeOperator = tsTypeOperator;
|
exports.tSTypeParameter = exports.tsTypeParameter = tsTypeParameter;
|
exports.tSTypeParameterDeclaration = exports.tsTypeParameterDeclaration = tsTypeParameterDeclaration;
|
exports.tSTypeParameterInstantiation = exports.tsTypeParameterInstantiation = tsTypeParameterInstantiation;
|
exports.tSTypePredicate = exports.tsTypePredicate = tsTypePredicate;
|
exports.tSTypeQuery = exports.tsTypeQuery = tsTypeQuery;
|
exports.tSTypeReference = exports.tsTypeReference = tsTypeReference;
|
exports.tSUndefinedKeyword = exports.tsUndefinedKeyword = tsUndefinedKeyword;
|
exports.tSUnionType = exports.tsUnionType = tsUnionType;
|
exports.tSUnknownKeyword = exports.tsUnknownKeyword = tsUnknownKeyword;
|
exports.tSVoidKeyword = exports.tsVoidKeyword = tsVoidKeyword;
|
exports.tupleExpression = tupleExpression;
|
exports.tupleTypeAnnotation = tupleTypeAnnotation;
|
exports.typeAlias = typeAlias;
|
exports.typeAnnotation = typeAnnotation;
|
exports.typeCastExpression = typeCastExpression;
|
exports.typeParameter = typeParameter;
|
exports.typeParameterDeclaration = typeParameterDeclaration;
|
exports.typeParameterInstantiation = typeParameterInstantiation;
|
exports.typeofTypeAnnotation = typeofTypeAnnotation;
|
exports.unaryExpression = unaryExpression;
|
exports.unionTypeAnnotation = unionTypeAnnotation;
|
exports.updateExpression = updateExpression;
|
exports.v8IntrinsicIdentifier = v8IntrinsicIdentifier;
|
exports.variableDeclaration = variableDeclaration;
|
exports.variableDeclarator = variableDeclarator;
|
exports.variance = variance;
|
exports.voidPattern = voidPattern;
|
exports.voidTypeAnnotation = voidTypeAnnotation;
|
exports.whileStatement = whileStatement;
|
exports.withStatement = withStatement;
|
exports.yieldExpression = yieldExpression;
|
var _validate = require("../../validators/validate.js");
|
var _deprecationWarning = require("../../utils/deprecationWarning.js");
|
var utils = require("../../definitions/utils.js");
|
const {
|
validateInternal: validate
|
} = _validate;
|
const {
|
NODE_FIELDS
|
} = utils;
|
function bigIntLiteral(value) {
|
if (typeof value === "bigint") {
|
value = value.toString();
|
}
|
const node = {
|
type: "BigIntLiteral",
|
value
|
};
|
const defs = NODE_FIELDS.BigIntLiteral;
|
validate(defs.value, node, "value", value);
|
return node;
|
}
|
function arrayExpression(elements = []) {
|
const node = {
|
type: "ArrayExpression",
|
elements
|
};
|
const defs = NODE_FIELDS.ArrayExpression;
|
validate(defs.elements, node, "elements", elements, 1);
|
return node;
|
}
|
function assignmentExpression(operator, left, right) {
|
const node = {
|
type: "AssignmentExpression",
|
operator,
|
left,
|
right
|
};
|
const defs = NODE_FIELDS.AssignmentExpression;
|
validate(defs.operator, node, "operator", operator);
|
validate(defs.left, node, "left", left, 1);
|
validate(defs.right, node, "right", right, 1);
|
return node;
|
}
|
function binaryExpression(operator, left, right) {
|
const node = {
|
type: "BinaryExpression",
|
operator,
|
left,
|
right
|
};
|
const defs = NODE_FIELDS.BinaryExpression;
|
validate(defs.operator, node, "operator", operator);
|
validate(defs.left, node, "left", left, 1);
|
validate(defs.right, node, "right", right, 1);
|
return node;
|
}
|
function interpreterDirective(value) {
|
const node = {
|
type: "InterpreterDirective",
|
value
|
};
|
const defs = NODE_FIELDS.InterpreterDirective;
|
validate(defs.value, node, "value", value);
|
return node;
|
}
|
function directive(value) {
|
const node = {
|
type: "Directive",
|
value
|
};
|
const defs = NODE_FIELDS.Directive;
|
validate(defs.value, node, "value", value, 1);
|
return node;
|
}
|
function directiveLiteral(value) {
|
const node = {
|
type: "DirectiveLiteral",
|
value
|
};
|
const defs = NODE_FIELDS.DirectiveLiteral;
|
validate(defs.value, node, "value", value);
|
return node;
|
}
|
function blockStatement(body, directives = []) {
|
const node = {
|
type: "BlockStatement",
|
body,
|
directives
|
};
|
const defs = NODE_FIELDS.BlockStatement;
|
validate(defs.body, node, "body", body, 1);
|
validate(defs.directives, node, "directives", directives, 1);
|
return node;
|
}
|
function breakStatement(label = null) {
|
const node = {
|
type: "BreakStatement",
|
label
|
};
|
const defs = NODE_FIELDS.BreakStatement;
|
validate(defs.label, node, "label", label, 1);
|
return node;
|
}
|
function callExpression(callee, _arguments) {
|
const node = {
|
type: "CallExpression",
|
callee,
|
arguments: _arguments
|
};
|
const defs = NODE_FIELDS.CallExpression;
|
validate(defs.callee, node, "callee", callee, 1);
|
validate(defs.arguments, node, "arguments", _arguments, 1);
|
return node;
|
}
|
function catchClause(param = null, body) {
|
const node = {
|
type: "CatchClause",
|
param,
|
body
|
};
|
const defs = NODE_FIELDS.CatchClause;
|
validate(defs.param, node, "param", param, 1);
|
validate(defs.body, node, "body", body, 1);
|
return node;
|
}
|
function conditionalExpression(test, consequent, alternate) {
|
const node = {
|
type: "ConditionalExpression",
|
test,
|
consequent,
|
alternate
|
};
|
const defs = NODE_FIELDS.ConditionalExpression;
|
validate(defs.test, node, "test", test, 1);
|
validate(defs.consequent, node, "consequent", consequent, 1);
|
validate(defs.alternate, node, "alternate", alternate, 1);
|
return node;
|
}
|
function continueStatement(label = null) {
|
const node = {
|
type: "ContinueStatement",
|
label
|
};
|
const defs = NODE_FIELDS.ContinueStatement;
|
validate(defs.label, node, "label", label, 1);
|
return node;
|
}
|
function debuggerStatement() {
|
return {
|
type: "DebuggerStatement"
|
};
|
}
|
function doWhileStatement(test, body) {
|
const node = {
|
type: "DoWhileStatement",
|
test,
|
body
|
};
|
const defs = NODE_FIELDS.DoWhileStatement;
|
validate(defs.test, node, "test", test, 1);
|
validate(defs.body, node, "body", body, 1);
|
return node;
|
}
|
function emptyStatement() {
|
return {
|
type: "EmptyStatement"
|
};
|
}
|
function expressionStatement(expression) {
|
const node = {
|
type: "ExpressionStatement",
|
expression
|
};
|
const defs = NODE_FIELDS.ExpressionStatement;
|
validate(defs.expression, node, "expression", expression, 1);
|
return node;
|
}
|
function file(program, comments = null, tokens = null) {
|
const node = {
|
type: "File",
|
program,
|
comments,
|
tokens
|
};
|
const defs = NODE_FIELDS.File;
|
validate(defs.program, node, "program", program, 1);
|
validate(defs.comments, node, "comments", comments, 1);
|
validate(defs.tokens, node, "tokens", tokens);
|
return node;
|
}
|
function forInStatement(left, right, body) {
|
const node = {
|
type: "ForInStatement",
|
left,
|
right,
|
body
|
};
|
const defs = NODE_FIELDS.ForInStatement;
|
validate(defs.left, node, "left", left, 1);
|
validate(defs.right, node, "right", right, 1);
|
validate(defs.body, node, "body", body, 1);
|
return node;
|
}
|
function forStatement(init = null, test = null, update = null, body) {
|
const node = {
|
type: "ForStatement",
|
init,
|
test,
|
update,
|
body
|
};
|
const defs = NODE_FIELDS.ForStatement;
|
validate(defs.init, node, "init", init, 1);
|
validate(defs.test, node, "test", test, 1);
|
validate(defs.update, node, "update", update, 1);
|
validate(defs.body, node, "body", body, 1);
|
return node;
|
}
|
function functionDeclaration(id = null, params, body, generator = false, async = false) {
|
const node = {
|
type: "FunctionDeclaration",
|
id,
|
params,
|
body,
|
generator,
|
async
|
};
|
const defs = NODE_FIELDS.FunctionDeclaration;
|
validate(defs.id, node, "id", id, 1);
|
validate(defs.params, node, "params", params, 1);
|
validate(defs.body, node, "body", body, 1);
|
validate(defs.generator, node, "generator", generator);
|
validate(defs.async, node, "async", async);
|
return node;
|
}
|
function functionExpression(id = null, params, body, generator = false, async = false) {
|
const node = {
|
type: "FunctionExpression",
|
id,
|
params,
|
body,
|
generator,
|
async
|
};
|
const defs = NODE_FIELDS.FunctionExpression;
|
validate(defs.id, node, "id", id, 1);
|
validate(defs.params, node, "params", params, 1);
|
validate(defs.body, node, "body", body, 1);
|
validate(defs.generator, node, "generator", generator);
|
validate(defs.async, node, "async", async);
|
return node;
|
}
|
function identifier(name) {
|
const node = {
|
type: "Identifier",
|
name
|
};
|
const defs = NODE_FIELDS.Identifier;
|
validate(defs.name, node, "name", name);
|
return node;
|
}
|
function ifStatement(test, consequent, alternate = null) {
|
const node = {
|
type: "IfStatement",
|
test,
|
consequent,
|
alternate
|
};
|
const defs = NODE_FIELDS.IfStatement;
|
validate(defs.test, node, "test", test, 1);
|
validate(defs.consequent, node, "consequent", consequent, 1);
|
validate(defs.alternate, node, "alternate", alternate, 1);
|
return node;
|
}
|
function labeledStatement(label, body) {
|
const node = {
|
type: "LabeledStatement",
|
label,
|
body
|
};
|
const defs = NODE_FIELDS.LabeledStatement;
|
validate(defs.label, node, "label", label, 1);
|
validate(defs.body, node, "body", body, 1);
|
return node;
|
}
|
function stringLiteral(value) {
|
const node = {
|
type: "StringLiteral",
|
value
|
};
|
const defs = NODE_FIELDS.StringLiteral;
|
validate(defs.value, node, "value", value);
|
return node;
|
}
|
function numericLiteral(value) {
|
const node = {
|
type: "NumericLiteral",
|
value
|
};
|
const defs = NODE_FIELDS.NumericLiteral;
|
validate(defs.value, node, "value", value);
|
return node;
|
}
|
function nullLiteral() {
|
return {
|
type: "NullLiteral"
|
};
|
}
|
function booleanLiteral(value) {
|
const node = {
|
type: "BooleanLiteral",
|
value
|
};
|
const defs = NODE_FIELDS.BooleanLiteral;
|
validate(defs.value, node, "value", value);
|
return node;
|
}
|
function regExpLiteral(pattern, flags = "") {
|
const node = {
|
type: "RegExpLiteral",
|
pattern,
|
flags
|
};
|
const defs = NODE_FIELDS.RegExpLiteral;
|
validate(defs.pattern, node, "pattern", pattern);
|
validate(defs.flags, node, "flags", flags);
|
return node;
|
}
|
function logicalExpression(operator, left, right) {
|
const node = {
|
type: "LogicalExpression",
|
operator,
|
left,
|
right
|
};
|
const defs = NODE_FIELDS.LogicalExpression;
|
validate(defs.operator, node, "operator", operator);
|
validate(defs.left, node, "left", left, 1);
|
validate(defs.right, node, "right", right, 1);
|
return node;
|
}
|
function memberExpression(object, property, computed = false, optional = null) {
|
const node = {
|
type: "MemberExpression",
|
object,
|
property,
|
computed,
|
optional
|
};
|
const defs = NODE_FIELDS.MemberExpression;
|
validate(defs.object, node, "object", object, 1);
|
validate(defs.property, node, "property", property, 1);
|
validate(defs.computed, node, "computed", computed);
|
validate(defs.optional, node, "optional", optional);
|
return node;
|
}
|
function newExpression(callee, _arguments) {
|
const node = {
|
type: "NewExpression",
|
callee,
|
arguments: _arguments
|
};
|
const defs = NODE_FIELDS.NewExpression;
|
validate(defs.callee, node, "callee", callee, 1);
|
validate(defs.arguments, node, "arguments", _arguments, 1);
|
return node;
|
}
|
function program(body, directives = [], sourceType = "script", interpreter = null) {
|
const node = {
|
type: "Program",
|
body,
|
directives,
|
sourceType,
|
interpreter
|
};
|
const defs = NODE_FIELDS.Program;
|
validate(defs.body, node, "body", body, 1);
|
validate(defs.directives, node, "directives", directives, 1);
|
validate(defs.sourceType, node, "sourceType", sourceType);
|
validate(defs.interpreter, node, "interpreter", interpreter, 1);
|
return node;
|
}
|
function objectExpression(properties) {
|
const node = {
|
type: "ObjectExpression",
|
properties
|
};
|
const defs = NODE_FIELDS.ObjectExpression;
|
validate(defs.properties, node, "properties", properties, 1);
|
return node;
|
}
|
function objectMethod(kind = "method", key, params, body, computed = false, generator = false, async = false) {
|
const node = {
|
type: "ObjectMethod",
|
kind,
|
key,
|
params,
|
body,
|
computed,
|
generator,
|
async
|
};
|
const defs = NODE_FIELDS.ObjectMethod;
|
validate(defs.kind, node, "kind", kind);
|
validate(defs.key, node, "key", key, 1);
|
validate(defs.params, node, "params", params, 1);
|
validate(defs.body, node, "body", body, 1);
|
validate(defs.computed, node, "computed", computed);
|
validate(defs.generator, node, "generator", generator);
|
validate(defs.async, node, "async", async);
|
return node;
|
}
|
function objectProperty(key, value, computed = false, shorthand = false, decorators = null) {
|
const node = {
|
type: "ObjectProperty",
|
key,
|
value,
|
computed,
|
shorthand,
|
decorators
|
};
|
const defs = NODE_FIELDS.ObjectProperty;
|
validate(defs.key, node, "key", key, 1);
|
validate(defs.value, node, "value", value, 1);
|
validate(defs.computed, node, "computed", computed);
|
validate(defs.shorthand, node, "shorthand", shorthand);
|
validate(defs.decorators, node, "decorators", decorators, 1);
|
return node;
|
}
|
function restElement(argument) {
|
const node = {
|
type: "RestElement",
|
argument
|
};
|
const defs = NODE_FIELDS.RestElement;
|
validate(defs.argument, node, "argument", argument, 1);
|
return node;
|
}
|
function returnStatement(argument = null) {
|
const node = {
|
type: "ReturnStatement",
|
argument
|
};
|
const defs = NODE_FIELDS.ReturnStatement;
|
validate(defs.argument, node, "argument", argument, 1);
|
return node;
|
}
|
function sequenceExpression(expressions) {
|
const node = {
|
type: "SequenceExpression",
|
expressions
|
};
|
const defs = NODE_FIELDS.SequenceExpression;
|
validate(defs.expressions, node, "expressions", expressions, 1);
|
return node;
|
}
|
function parenthesizedExpression(expression) {
|
const node = {
|
type: "ParenthesizedExpression",
|
expression
|
};
|
const defs = NODE_FIELDS.ParenthesizedExpression;
|
validate(defs.expression, node, "expression", expression, 1);
|
return node;
|
}
|
function switchCase(test = null, consequent) {
|
const node = {
|
type: "SwitchCase",
|
test,
|
consequent
|
};
|
const defs = NODE_FIELDS.SwitchCase;
|
validate(defs.test, node, "test", test, 1);
|
validate(defs.consequent, node, "consequent", consequent, 1);
|
return node;
|
}
|
function switchStatement(discriminant, cases) {
|
const node = {
|
type: "SwitchStatement",
|
discriminant,
|
cases
|
};
|
const defs = NODE_FIELDS.SwitchStatement;
|
validate(defs.discriminant, node, "discriminant", discriminant, 1);
|
validate(defs.cases, node, "cases", cases, 1);
|
return node;
|
}
|
function thisExpression() {
|
return {
|
type: "ThisExpression"
|
};
|
}
|
function throwStatement(argument) {
|
const node = {
|
type: "ThrowStatement",
|
argument
|
};
|
const defs = NODE_FIELDS.ThrowStatement;
|
validate(defs.argument, node, "argument", argument, 1);
|
return node;
|
}
|
function tryStatement(block, handler = null, finalizer = null) {
|
const node = {
|
type: "TryStatement",
|
block,
|
handler,
|
finalizer
|
};
|
const defs = NODE_FIELDS.TryStatement;
|
validate(defs.block, node, "block", block, 1);
|
validate(defs.handler, node, "handler", handler, 1);
|
validate(defs.finalizer, node, "finalizer", finalizer, 1);
|
return node;
|
}
|
function unaryExpression(operator, argument, prefix = true) {
|
const node = {
|
type: "UnaryExpression",
|
operator,
|
argument,
|
prefix
|
};
|
const defs = NODE_FIELDS.UnaryExpression;
|
validate(defs.operator, node, "operator", operator);
|
validate(defs.argument, node, "argument", argument, 1);
|
validate(defs.prefix, node, "prefix", prefix);
|
return node;
|
}
|
function updateExpression(operator, argument, prefix = false) {
|
const node = {
|
type: "UpdateExpression",
|
operator,
|
argument,
|
prefix
|
};
|
const defs = NODE_FIELDS.UpdateExpression;
|
validate(defs.operator, node, "operator", operator);
|
validate(defs.argument, node, "argument", argument, 1);
|
validate(defs.prefix, node, "prefix", prefix);
|
return node;
|
}
|
function variableDeclaration(kind, declarations) {
|
const node = {
|
type: "VariableDeclaration",
|
kind,
|
declarations
|
};
|
const defs = NODE_FIELDS.VariableDeclaration;
|
validate(defs.kind, node, "kind", kind);
|
validate(defs.declarations, node, "declarations", declarations, 1);
|
return node;
|
}
|
function variableDeclarator(id, init = null) {
|
const node = {
|
type: "VariableDeclarator",
|
id,
|
init
|
};
|
const defs = NODE_FIELDS.VariableDeclarator;
|
validate(defs.id, node, "id", id, 1);
|
validate(defs.init, node, "init", init, 1);
|
return node;
|
}
|
function whileStatement(test, body) {
|
const node = {
|
type: "WhileStatement",
|
test,
|
body
|
};
|
const defs = NODE_FIELDS.WhileStatement;
|
validate(defs.test, node, "test", test, 1);
|
validate(defs.body, node, "body", body, 1);
|
return node;
|
}
|
function withStatement(object, body) {
|
const node = {
|
type: "WithStatement",
|
object,
|
body
|
};
|
const defs = NODE_FIELDS.WithStatement;
|
validate(defs.object, node, "object", object, 1);
|
validate(defs.body, node, "body", body, 1);
|
return node;
|
}
|
function assignmentPattern(left, right) {
|
const node = {
|
type: "AssignmentPattern",
|
left,
|
right
|
};
|
const defs = NODE_FIELDS.AssignmentPattern;
|
validate(defs.left, node, "left", left, 1);
|
validate(defs.right, node, "right", right, 1);
|
return node;
|
}
|
function arrayPattern(elements) {
|
const node = {
|
type: "ArrayPattern",
|
elements
|
};
|
const defs = NODE_FIELDS.ArrayPattern;
|
validate(defs.elements, node, "elements", elements, 1);
|
return node;
|
}
|
function arrowFunctionExpression(params, body, async = false) {
|
const node = {
|
type: "ArrowFunctionExpression",
|
params,
|
body,
|
async,
|
expression: null
|
};
|
const defs = NODE_FIELDS.ArrowFunctionExpression;
|
validate(defs.params, node, "params", params, 1);
|
validate(defs.body, node, "body", body, 1);
|
validate(defs.async, node, "async", async);
|
return node;
|
}
|
function classBody(body) {
|
const node = {
|
type: "ClassBody",
|
body
|
};
|
const defs = NODE_FIELDS.ClassBody;
|
validate(defs.body, node, "body", body, 1);
|
return node;
|
}
|
function classExpression(id = null, superClass = null, body, decorators = null) {
|
const node = {
|
type: "ClassExpression",
|
id,
|
superClass,
|
body,
|
decorators
|
};
|
const defs = NODE_FIELDS.ClassExpression;
|
validate(defs.id, node, "id", id, 1);
|
validate(defs.superClass, node, "superClass", superClass, 1);
|
validate(defs.body, node, "body", body, 1);
|
validate(defs.decorators, node, "decorators", decorators, 1);
|
return node;
|
}
|
function classDeclaration(id = null, superClass = null, body, decorators = null) {
|
const node = {
|
type: "ClassDeclaration",
|
id,
|
superClass,
|
body,
|
decorators
|
};
|
const defs = NODE_FIELDS.ClassDeclaration;
|
validate(defs.id, node, "id", id, 1);
|
validate(defs.superClass, node, "superClass", superClass, 1);
|
validate(defs.body, node, "body", body, 1);
|
validate(defs.decorators, node, "decorators", decorators, 1);
|
return node;
|
}
|
function exportAllDeclaration(source) {
|
const node = {
|
type: "ExportAllDeclaration",
|
source
|
};
|
const defs = NODE_FIELDS.ExportAllDeclaration;
|
validate(defs.source, node, "source", source, 1);
|
return node;
|
}
|
function exportDefaultDeclaration(declaration) {
|
const node = {
|
type: "ExportDefaultDeclaration",
|
declaration
|
};
|
const defs = NODE_FIELDS.ExportDefaultDeclaration;
|
validate(defs.declaration, node, "declaration", declaration, 1);
|
return node;
|
}
|
function exportNamedDeclaration(declaration = null, specifiers = [], source = null) {
|
const node = {
|
type: "ExportNamedDeclaration",
|
declaration,
|
specifiers,
|
source
|
};
|
const defs = NODE_FIELDS.ExportNamedDeclaration;
|
validate(defs.declaration, node, "declaration", declaration, 1);
|
validate(defs.specifiers, node, "specifiers", specifiers, 1);
|
validate(defs.source, node, "source", source, 1);
|
return node;
|
}
|
function exportSpecifier(local, exported) {
|
const node = {
|
type: "ExportSpecifier",
|
local,
|
exported
|
};
|
const defs = NODE_FIELDS.ExportSpecifier;
|
validate(defs.local, node, "local", local, 1);
|
validate(defs.exported, node, "exported", exported, 1);
|
return node;
|
}
|
function forOfStatement(left, right, body, _await = false) {
|
const node = {
|
type: "ForOfStatement",
|
left,
|
right,
|
body,
|
await: _await
|
};
|
const defs = NODE_FIELDS.ForOfStatement;
|
validate(defs.left, node, "left", left, 1);
|
validate(defs.right, node, "right", right, 1);
|
validate(defs.body, node, "body", body, 1);
|
validate(defs.await, node, "await", _await);
|
return node;
|
}
|
function importDeclaration(specifiers, source) {
|
const node = {
|
type: "ImportDeclaration",
|
specifiers,
|
source
|
};
|
const defs = NODE_FIELDS.ImportDeclaration;
|
validate(defs.specifiers, node, "specifiers", specifiers, 1);
|
validate(defs.source, node, "source", source, 1);
|
return node;
|
}
|
function importDefaultSpecifier(local) {
|
const node = {
|
type: "ImportDefaultSpecifier",
|
local
|
};
|
const defs = NODE_FIELDS.ImportDefaultSpecifier;
|
validate(defs.local, node, "local", local, 1);
|
return node;
|
}
|
function importNamespaceSpecifier(local) {
|
const node = {
|
type: "ImportNamespaceSpecifier",
|
local
|
};
|
const defs = NODE_FIELDS.ImportNamespaceSpecifier;
|
validate(defs.local, node, "local", local, 1);
|
return node;
|
}
|
function importSpecifier(local, imported) {
|
const node = {
|
type: "ImportSpecifier",
|
local,
|
imported
|
};
|
const defs = NODE_FIELDS.ImportSpecifier;
|
validate(defs.local, node, "local", local, 1);
|
validate(defs.imported, node, "imported", imported, 1);
|
return node;
|
}
|
function importExpression(source, options = null) {
|
const node = {
|
type: "ImportExpression",
|
source,
|
options
|
};
|
const defs = NODE_FIELDS.ImportExpression;
|
validate(defs.source, node, "source", source, 1);
|
validate(defs.options, node, "options", options, 1);
|
return node;
|
}
|
function metaProperty(meta, property) {
|
const node = {
|
type: "MetaProperty",
|
meta,
|
property
|
};
|
const defs = NODE_FIELDS.MetaProperty;
|
validate(defs.meta, node, "meta", meta, 1);
|
validate(defs.property, node, "property", property, 1);
|
return node;
|
}
|
function classMethod(kind = "method", key, params, body, computed = false, _static = false, generator = false, async = false) {
|
const node = {
|
type: "ClassMethod",
|
kind,
|
key,
|
params,
|
body,
|
computed,
|
static: _static,
|
generator,
|
async
|
};
|
const defs = NODE_FIELDS.ClassMethod;
|
validate(defs.kind, node, "kind", kind);
|
validate(defs.key, node, "key", key, 1);
|
validate(defs.params, node, "params", params, 1);
|
validate(defs.body, node, "body", body, 1);
|
validate(defs.computed, node, "computed", computed);
|
validate(defs.static, node, "static", _static);
|
validate(defs.generator, node, "generator", generator);
|
validate(defs.async, node, "async", async);
|
return node;
|
}
|
function objectPattern(properties) {
|
const node = {
|
type: "ObjectPattern",
|
properties
|
};
|
const defs = NODE_FIELDS.ObjectPattern;
|
validate(defs.properties, node, "properties", properties, 1);
|
return node;
|
}
|
function spreadElement(argument) {
|
const node = {
|
type: "SpreadElement",
|
argument
|
};
|
const defs = NODE_FIELDS.SpreadElement;
|
validate(defs.argument, node, "argument", argument, 1);
|
return node;
|
}
|
function _super() {
|
return {
|
type: "Super"
|
};
|
}
|
function taggedTemplateExpression(tag, quasi) {
|
const node = {
|
type: "TaggedTemplateExpression",
|
tag,
|
quasi
|
};
|
const defs = NODE_FIELDS.TaggedTemplateExpression;
|
validate(defs.tag, node, "tag", tag, 1);
|
validate(defs.quasi, node, "quasi", quasi, 1);
|
return node;
|
}
|
function templateElement(value, tail = false) {
|
const node = {
|
type: "TemplateElement",
|
value,
|
tail
|
};
|
const defs = NODE_FIELDS.TemplateElement;
|
validate(defs.value, node, "value", value);
|
validate(defs.tail, node, "tail", tail);
|
return node;
|
}
|
function templateLiteral(quasis, expressions) {
|
const node = {
|
type: "TemplateLiteral",
|
quasis,
|
expressions
|
};
|
const defs = NODE_FIELDS.TemplateLiteral;
|
validate(defs.quasis, node, "quasis", quasis, 1);
|
validate(defs.expressions, node, "expressions", expressions, 1);
|
return node;
|
}
|
function yieldExpression(argument = null, delegate = false) {
|
const node = {
|
type: "YieldExpression",
|
argument,
|
delegate
|
};
|
const defs = NODE_FIELDS.YieldExpression;
|
validate(defs.argument, node, "argument", argument, 1);
|
validate(defs.delegate, node, "delegate", delegate);
|
return node;
|
}
|
function awaitExpression(argument) {
|
const node = {
|
type: "AwaitExpression",
|
argument
|
};
|
const defs = NODE_FIELDS.AwaitExpression;
|
validate(defs.argument, node, "argument", argument, 1);
|
return node;
|
}
|
function _import() {
|
return {
|
type: "Import"
|
};
|
}
|
function exportNamespaceSpecifier(exported) {
|
const node = {
|
type: "ExportNamespaceSpecifier",
|
exported
|
};
|
const defs = NODE_FIELDS.ExportNamespaceSpecifier;
|
validate(defs.exported, node, "exported", exported, 1);
|
return node;
|
}
|
function optionalMemberExpression(object, property, computed = false, optional) {
|
const node = {
|
type: "OptionalMemberExpression",
|
object,
|
property,
|
computed,
|
optional
|
};
|
const defs = NODE_FIELDS.OptionalMemberExpression;
|
validate(defs.object, node, "object", object, 1);
|
validate(defs.property, node, "property", property, 1);
|
validate(defs.computed, node, "computed", computed);
|
validate(defs.optional, node, "optional", optional);
|
return node;
|
}
|
function optionalCallExpression(callee, _arguments, optional) {
|
const node = {
|
type: "OptionalCallExpression",
|
callee,
|
arguments: _arguments,
|
optional
|
};
|
const defs = NODE_FIELDS.OptionalCallExpression;
|
validate(defs.callee, node, "callee", callee, 1);
|
validate(defs.arguments, node, "arguments", _arguments, 1);
|
validate(defs.optional, node, "optional", optional);
|
return node;
|
}
|
function classProperty(key, value = null, typeAnnotation = null, decorators = null, computed = false, _static = false) {
|
const node = {
|
type: "ClassProperty",
|
key,
|
value,
|
typeAnnotation,
|
decorators,
|
computed,
|
static: _static
|
};
|
const defs = NODE_FIELDS.ClassProperty;
|
validate(defs.key, node, "key", key, 1);
|
validate(defs.value, node, "value", value, 1);
|
validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation, 1);
|
validate(defs.decorators, node, "decorators", decorators, 1);
|
validate(defs.computed, node, "computed", computed);
|
validate(defs.static, node, "static", _static);
|
return node;
|
}
|
function classAccessorProperty(key, value = null, typeAnnotation = null, decorators = null, computed = false, _static = false) {
|
const node = {
|
type: "ClassAccessorProperty",
|
key,
|
value,
|
typeAnnotation,
|
decorators,
|
computed,
|
static: _static
|
};
|
const defs = NODE_FIELDS.ClassAccessorProperty;
|
validate(defs.key, node, "key", key, 1);
|
validate(defs.value, node, "value", value, 1);
|
validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation, 1);
|
validate(defs.decorators, node, "decorators", decorators, 1);
|
validate(defs.computed, node, "computed", computed);
|
validate(defs.static, node, "static", _static);
|
return node;
|
}
|
function classPrivateProperty(key, value = null, decorators = null, _static = false) {
|
const node = {
|
type: "ClassPrivateProperty",
|
key,
|
value,
|
decorators,
|
static: _static
|
};
|
const defs = NODE_FIELDS.ClassPrivateProperty;
|
validate(defs.key, node, "key", key, 1);
|
validate(defs.value, node, "value", value, 1);
|
validate(defs.decorators, node, "decorators", decorators, 1);
|
validate(defs.static, node, "static", _static);
|
return node;
|
}
|
function classPrivateMethod(kind = "method", key, params, body, _static = false) {
|
const node = {
|
type: "ClassPrivateMethod",
|
kind,
|
key,
|
params,
|
body,
|
static: _static
|
};
|
const defs = NODE_FIELDS.ClassPrivateMethod;
|
validate(defs.kind, node, "kind", kind);
|
validate(defs.key, node, "key", key, 1);
|
validate(defs.params, node, "params", params, 1);
|
validate(defs.body, node, "body", body, 1);
|
validate(defs.static, node, "static", _static);
|
return node;
|
}
|
function privateName(id) {
|
const node = {
|
type: "PrivateName",
|
id
|
};
|
const defs = NODE_FIELDS.PrivateName;
|
validate(defs.id, node, "id", id, 1);
|
return node;
|
}
|
function staticBlock(body) {
|
const node = {
|
type: "StaticBlock",
|
body
|
};
|
const defs = NODE_FIELDS.StaticBlock;
|
validate(defs.body, node, "body", body, 1);
|
return node;
|
}
|
function importAttribute(key, value) {
|
const node = {
|
type: "ImportAttribute",
|
key,
|
value
|
};
|
const defs = NODE_FIELDS.ImportAttribute;
|
validate(defs.key, node, "key", key, 1);
|
validate(defs.value, node, "value", value, 1);
|
return node;
|
}
|
function anyTypeAnnotation() {
|
return {
|
type: "AnyTypeAnnotation"
|
};
|
}
|
function arrayTypeAnnotation(elementType) {
|
const node = {
|
type: "ArrayTypeAnnotation",
|
elementType
|
};
|
const defs = NODE_FIELDS.ArrayTypeAnnotation;
|
validate(defs.elementType, node, "elementType", elementType, 1);
|
return node;
|
}
|
function booleanTypeAnnotation() {
|
return {
|
type: "BooleanTypeAnnotation"
|
};
|
}
|
function booleanLiteralTypeAnnotation(value) {
|
const node = {
|
type: "BooleanLiteralTypeAnnotation",
|
value
|
};
|
const defs = NODE_FIELDS.BooleanLiteralTypeAnnotation;
|
validate(defs.value, node, "value", value);
|
return node;
|
}
|
function nullLiteralTypeAnnotation() {
|
return {
|
type: "NullLiteralTypeAnnotation"
|
};
|
}
|
function classImplements(id, typeParameters = null) {
|
const node = {
|
type: "ClassImplements",
|
id,
|
typeParameters
|
};
|
const defs = NODE_FIELDS.ClassImplements;
|
validate(defs.id, node, "id", id, 1);
|
validate(defs.typeParameters, node, "typeParameters", typeParameters, 1);
|
return node;
|
}
|
function declareClass(id, typeParameters = null, _extends = null, body) {
|
const node = {
|
type: "DeclareClass",
|
id,
|
typeParameters,
|
extends: _extends,
|
body
|
};
|
const defs = NODE_FIELDS.DeclareClass;
|
validate(defs.id, node, "id", id, 1);
|
validate(defs.typeParameters, node, "typeParameters", typeParameters, 1);
|
validate(defs.extends, node, "extends", _extends, 1);
|
validate(defs.body, node, "body", body, 1);
|
return node;
|
}
|
function declareFunction(id) {
|
const node = {
|
type: "DeclareFunction",
|
id
|
};
|
const defs = NODE_FIELDS.DeclareFunction;
|
validate(defs.id, node, "id", id, 1);
|
return node;
|
}
|
function declareInterface(id, typeParameters = null, _extends = null, body) {
|
const node = {
|
type: "DeclareInterface",
|
id,
|
typeParameters,
|
extends: _extends,
|
body
|
};
|
const defs = NODE_FIELDS.DeclareInterface;
|
validate(defs.id, node, "id", id, 1);
|
validate(defs.typeParameters, node, "typeParameters", typeParameters, 1);
|
validate(defs.extends, node, "extends", _extends, 1);
|
validate(defs.body, node, "body", body, 1);
|
return node;
|
}
|
function declareModule(id, body, kind = null) {
|
const node = {
|
type: "DeclareModule",
|
id,
|
body,
|
kind
|
};
|
const defs = NODE_FIELDS.DeclareModule;
|
validate(defs.id, node, "id", id, 1);
|
validate(defs.body, node, "body", body, 1);
|
validate(defs.kind, node, "kind", kind);
|
return node;
|
}
|
function declareModuleExports(typeAnnotation) {
|
const node = {
|
type: "DeclareModuleExports",
|
typeAnnotation
|
};
|
const defs = NODE_FIELDS.DeclareModuleExports;
|
validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation, 1);
|
return node;
|
}
|
function declareTypeAlias(id, typeParameters = null, right) {
|
const node = {
|
type: "DeclareTypeAlias",
|
id,
|
typeParameters,
|
right
|
};
|
const defs = NODE_FIELDS.DeclareTypeAlias;
|
validate(defs.id, node, "id", id, 1);
|
validate(defs.typeParameters, node, "typeParameters", typeParameters, 1);
|
validate(defs.right, node, "right", right, 1);
|
return node;
|
}
|
function declareOpaqueType(id, typeParameters = null, supertype = null) {
|
const node = {
|
type: "DeclareOpaqueType",
|
id,
|
typeParameters,
|
supertype
|
};
|
const defs = NODE_FIELDS.DeclareOpaqueType;
|
validate(defs.id, node, "id", id, 1);
|
validate(defs.typeParameters, node, "typeParameters", typeParameters, 1);
|
validate(defs.supertype, node, "supertype", supertype, 1);
|
return node;
|
}
|
function declareVariable(id) {
|
const node = {
|
type: "DeclareVariable",
|
id
|
};
|
const defs = NODE_FIELDS.DeclareVariable;
|
validate(defs.id, node, "id", id, 1);
|
return node;
|
}
|
function declareExportDeclaration(declaration = null, specifiers = null, source = null, attributes = null) {
|
const node = {
|
type: "DeclareExportDeclaration",
|
declaration,
|
specifiers,
|
source,
|
attributes
|
};
|
const defs = NODE_FIELDS.DeclareExportDeclaration;
|
validate(defs.declaration, node, "declaration", declaration, 1);
|
validate(defs.specifiers, node, "specifiers", specifiers, 1);
|
validate(defs.source, node, "source", source, 1);
|
validate(defs.attributes, node, "attributes", attributes, 1);
|
return node;
|
}
|
function declareExportAllDeclaration(source, attributes = null) {
|
const node = {
|
type: "DeclareExportAllDeclaration",
|
source,
|
attributes
|
};
|
const defs = NODE_FIELDS.DeclareExportAllDeclaration;
|
validate(defs.source, node, "source", source, 1);
|
validate(defs.attributes, node, "attributes", attributes, 1);
|
return node;
|
}
|
function declaredPredicate(value) {
|
const node = {
|
type: "DeclaredPredicate",
|
value
|
};
|
const defs = NODE_FIELDS.DeclaredPredicate;
|
validate(defs.value, node, "value", value, 1);
|
return node;
|
}
|
function existsTypeAnnotation() {
|
return {
|
type: "ExistsTypeAnnotation"
|
};
|
}
|
function functionTypeAnnotation(typeParameters = null, params, rest = null, returnType) {
|
const node = {
|
type: "FunctionTypeAnnotation",
|
typeParameters,
|
params,
|
rest,
|
returnType
|
};
|
const defs = NODE_FIELDS.FunctionTypeAnnotation;
|
validate(defs.typeParameters, node, "typeParameters", typeParameters, 1);
|
validate(defs.params, node, "params", params, 1);
|
validate(defs.rest, node, "rest", rest, 1);
|
validate(defs.returnType, node, "returnType", returnType, 1);
|
return node;
|
}
|
function functionTypeParam(name = null, typeAnnotation) {
|
const node = {
|
type: "FunctionTypeParam",
|
name,
|
typeAnnotation
|
};
|
const defs = NODE_FIELDS.FunctionTypeParam;
|
validate(defs.name, node, "name", name, 1);
|
validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation, 1);
|
return node;
|
}
|
function genericTypeAnnotation(id, typeParameters = null) {
|
const node = {
|
type: "GenericTypeAnnotation",
|
id,
|
typeParameters
|
};
|
const defs = NODE_FIELDS.GenericTypeAnnotation;
|
validate(defs.id, node, "id", id, 1);
|
validate(defs.typeParameters, node, "typeParameters", typeParameters, 1);
|
return node;
|
}
|
function inferredPredicate() {
|
return {
|
type: "InferredPredicate"
|
};
|
}
|
function interfaceExtends(id, typeParameters = null) {
|
const node = {
|
type: "InterfaceExtends",
|
id,
|
typeParameters
|
};
|
const defs = NODE_FIELDS.InterfaceExtends;
|
validate(defs.id, node, "id", id, 1);
|
validate(defs.typeParameters, node, "typeParameters", typeParameters, 1);
|
return node;
|
}
|
function interfaceDeclaration(id, typeParameters = null, _extends = null, body) {
|
const node = {
|
type: "InterfaceDeclaration",
|
id,
|
typeParameters,
|
extends: _extends,
|
body
|
};
|
const defs = NODE_FIELDS.InterfaceDeclaration;
|
validate(defs.id, node, "id", id, 1);
|
validate(defs.typeParameters, node, "typeParameters", typeParameters, 1);
|
validate(defs.extends, node, "extends", _extends, 1);
|
validate(defs.body, node, "body", body, 1);
|
return node;
|
}
|
function interfaceTypeAnnotation(_extends = null, body) {
|
const node = {
|
type: "InterfaceTypeAnnotation",
|
extends: _extends,
|
body
|
};
|
const defs = NODE_FIELDS.InterfaceTypeAnnotation;
|
validate(defs.extends, node, "extends", _extends, 1);
|
validate(defs.body, node, "body", body, 1);
|
return node;
|
}
|
function intersectionTypeAnnotation(types) {
|
const node = {
|
type: "IntersectionTypeAnnotation",
|
types
|
};
|
const defs = NODE_FIELDS.IntersectionTypeAnnotation;
|
validate(defs.types, node, "types", types, 1);
|
return node;
|
}
|
function mixedTypeAnnotation() {
|
return {
|
type: "MixedTypeAnnotation"
|
};
|
}
|
function emptyTypeAnnotation() {
|
return {
|
type: "EmptyTypeAnnotation"
|
};
|
}
|
function nullableTypeAnnotation(typeAnnotation) {
|
const node = {
|
type: "NullableTypeAnnotation",
|
typeAnnotation
|
};
|
const defs = NODE_FIELDS.NullableTypeAnnotation;
|
validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation, 1);
|
return node;
|
}
|
function numberLiteralTypeAnnotation(value) {
|
const node = {
|
type: "NumberLiteralTypeAnnotation",
|
value
|
};
|
const defs = NODE_FIELDS.NumberLiteralTypeAnnotation;
|
validate(defs.value, node, "value", value);
|
return node;
|
}
|
function numberTypeAnnotation() {
|
return {
|
type: "NumberTypeAnnotation"
|
};
|
}
|
function objectTypeAnnotation(properties, indexers = [], callProperties = [], internalSlots = [], exact = false) {
|
const node = {
|
type: "ObjectTypeAnnotation",
|
properties,
|
indexers,
|
callProperties,
|
internalSlots,
|
exact
|
};
|
const defs = NODE_FIELDS.ObjectTypeAnnotation;
|
validate(defs.properties, node, "properties", properties, 1);
|
validate(defs.indexers, node, "indexers", indexers, 1);
|
validate(defs.callProperties, node, "callProperties", callProperties, 1);
|
validate(defs.internalSlots, node, "internalSlots", internalSlots, 1);
|
validate(defs.exact, node, "exact", exact);
|
return node;
|
}
|
function objectTypeInternalSlot(id, value, optional, _static, method) {
|
const node = {
|
type: "ObjectTypeInternalSlot",
|
id,
|
value,
|
optional,
|
static: _static,
|
method
|
};
|
const defs = NODE_FIELDS.ObjectTypeInternalSlot;
|
validate(defs.id, node, "id", id, 1);
|
validate(defs.value, node, "value", value, 1);
|
validate(defs.optional, node, "optional", optional);
|
validate(defs.static, node, "static", _static);
|
validate(defs.method, node, "method", method);
|
return node;
|
}
|
function objectTypeCallProperty(value) {
|
const node = {
|
type: "ObjectTypeCallProperty",
|
value,
|
static: null
|
};
|
const defs = NODE_FIELDS.ObjectTypeCallProperty;
|
validate(defs.value, node, "value", value, 1);
|
return node;
|
}
|
function objectTypeIndexer(id = null, key, value, variance = null) {
|
const node = {
|
type: "ObjectTypeIndexer",
|
id,
|
key,
|
value,
|
variance,
|
static: null
|
};
|
const defs = NODE_FIELDS.ObjectTypeIndexer;
|
validate(defs.id, node, "id", id, 1);
|
validate(defs.key, node, "key", key, 1);
|
validate(defs.value, node, "value", value, 1);
|
validate(defs.variance, node, "variance", variance, 1);
|
return node;
|
}
|
function objectTypeProperty(key, value, variance = null) {
|
const node = {
|
type: "ObjectTypeProperty",
|
key,
|
value,
|
variance,
|
kind: null,
|
method: null,
|
optional: null,
|
proto: null,
|
static: null
|
};
|
const defs = NODE_FIELDS.ObjectTypeProperty;
|
validate(defs.key, node, "key", key, 1);
|
validate(defs.value, node, "value", value, 1);
|
validate(defs.variance, node, "variance", variance, 1);
|
return node;
|
}
|
function objectTypeSpreadProperty(argument) {
|
const node = {
|
type: "ObjectTypeSpreadProperty",
|
argument
|
};
|
const defs = NODE_FIELDS.ObjectTypeSpreadProperty;
|
validate(defs.argument, node, "argument", argument, 1);
|
return node;
|
}
|
function opaqueType(id, typeParameters = null, supertype = null, impltype) {
|
const node = {
|
type: "OpaqueType",
|
id,
|
typeParameters,
|
supertype,
|
impltype
|
};
|
const defs = NODE_FIELDS.OpaqueType;
|
validate(defs.id, node, "id", id, 1);
|
validate(defs.typeParameters, node, "typeParameters", typeParameters, 1);
|
validate(defs.supertype, node, "supertype", supertype, 1);
|
validate(defs.impltype, node, "impltype", impltype, 1);
|
return node;
|
}
|
function qualifiedTypeIdentifier(id, qualification) {
|
const node = {
|
type: "QualifiedTypeIdentifier",
|
id,
|
qualification
|
};
|
const defs = NODE_FIELDS.QualifiedTypeIdentifier;
|
validate(defs.id, node, "id", id, 1);
|
validate(defs.qualification, node, "qualification", qualification, 1);
|
return node;
|
}
|
function stringLiteralTypeAnnotation(value) {
|
const node = {
|
type: "StringLiteralTypeAnnotation",
|
value
|
};
|
const defs = NODE_FIELDS.StringLiteralTypeAnnotation;
|
validate(defs.value, node, "value", value);
|
return node;
|
}
|
function stringTypeAnnotation() {
|
return {
|
type: "StringTypeAnnotation"
|
};
|
}
|
function symbolTypeAnnotation() {
|
return {
|
type: "SymbolTypeAnnotation"
|
};
|
}
|
function thisTypeAnnotation() {
|
return {
|
type: "ThisTypeAnnotation"
|
};
|
}
|
function tupleTypeAnnotation(types) {
|
const node = {
|
type: "TupleTypeAnnotation",
|
types
|
};
|
const defs = NODE_FIELDS.TupleTypeAnnotation;
|
validate(defs.types, node, "types", types, 1);
|
return node;
|
}
|
function typeofTypeAnnotation(argument) {
|
const node = {
|
type: "TypeofTypeAnnotation",
|
argument
|
};
|
const defs = NODE_FIELDS.TypeofTypeAnnotation;
|
validate(defs.argument, node, "argument", argument, 1);
|
return node;
|
}
|
function typeAlias(id, typeParameters = null, right) {
|
const node = {
|
type: "TypeAlias",
|
id,
|
typeParameters,
|
right
|
};
|
const defs = NODE_FIELDS.TypeAlias;
|
validate(defs.id, node, "id", id, 1);
|
validate(defs.typeParameters, node, "typeParameters", typeParameters, 1);
|
validate(defs.right, node, "right", right, 1);
|
return node;
|
}
|
function typeAnnotation(typeAnnotation) {
|
const node = {
|
type: "TypeAnnotation",
|
typeAnnotation
|
};
|
const defs = NODE_FIELDS.TypeAnnotation;
|
validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation, 1);
|
return node;
|
}
|
function typeCastExpression(expression, typeAnnotation) {
|
const node = {
|
type: "TypeCastExpression",
|
expression,
|
typeAnnotation
|
};
|
const defs = NODE_FIELDS.TypeCastExpression;
|
validate(defs.expression, node, "expression", expression, 1);
|
validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation, 1);
|
return node;
|
}
|
function typeParameter(bound = null, _default = null, variance = null) {
|
const node = {
|
type: "TypeParameter",
|
bound,
|
default: _default,
|
variance,
|
name: null
|
};
|
const defs = NODE_FIELDS.TypeParameter;
|
validate(defs.bound, node, "bound", bound, 1);
|
validate(defs.default, node, "default", _default, 1);
|
validate(defs.variance, node, "variance", variance, 1);
|
return node;
|
}
|
function typeParameterDeclaration(params) {
|
const node = {
|
type: "TypeParameterDeclaration",
|
params
|
};
|
const defs = NODE_FIELDS.TypeParameterDeclaration;
|
validate(defs.params, node, "params", params, 1);
|
return node;
|
}
|
function typeParameterInstantiation(params) {
|
const node = {
|
type: "TypeParameterInstantiation",
|
params
|
};
|
const defs = NODE_FIELDS.TypeParameterInstantiation;
|
validate(defs.params, node, "params", params, 1);
|
return node;
|
}
|
function unionTypeAnnotation(types) {
|
const node = {
|
type: "UnionTypeAnnotation",
|
types
|
};
|
const defs = NODE_FIELDS.UnionTypeAnnotation;
|
validate(defs.types, node, "types", types, 1);
|
return node;
|
}
|
function variance(kind) {
|
const node = {
|
type: "Variance",
|
kind
|
};
|
const defs = NODE_FIELDS.Variance;
|
validate(defs.kind, node, "kind", kind);
|
return node;
|
}
|
function voidTypeAnnotation() {
|
return {
|
type: "VoidTypeAnnotation"
|
};
|
}
|
function enumDeclaration(id, body) {
|
const node = {
|
type: "EnumDeclaration",
|
id,
|
body
|
};
|
const defs = NODE_FIELDS.EnumDeclaration;
|
validate(defs.id, node, "id", id, 1);
|
validate(defs.body, node, "body", body, 1);
|
return node;
|
}
|
function enumBooleanBody(members) {
|
const node = {
|
type: "EnumBooleanBody",
|
members,
|
explicitType: null,
|
hasUnknownMembers: null
|
};
|
const defs = NODE_FIELDS.EnumBooleanBody;
|
validate(defs.members, node, "members", members, 1);
|
return node;
|
}
|
function enumNumberBody(members) {
|
const node = {
|
type: "EnumNumberBody",
|
members,
|
explicitType: null,
|
hasUnknownMembers: null
|
};
|
const defs = NODE_FIELDS.EnumNumberBody;
|
validate(defs.members, node, "members", members, 1);
|
return node;
|
}
|
function enumStringBody(members) {
|
const node = {
|
type: "EnumStringBody",
|
members,
|
explicitType: null,
|
hasUnknownMembers: null
|
};
|
const defs = NODE_FIELDS.EnumStringBody;
|
validate(defs.members, node, "members", members, 1);
|
return node;
|
}
|
function enumSymbolBody(members) {
|
const node = {
|
type: "EnumSymbolBody",
|
members,
|
hasUnknownMembers: null
|
};
|
const defs = NODE_FIELDS.EnumSymbolBody;
|
validate(defs.members, node, "members", members, 1);
|
return node;
|
}
|
function enumBooleanMember(id) {
|
const node = {
|
type: "EnumBooleanMember",
|
id,
|
init: null
|
};
|
const defs = NODE_FIELDS.EnumBooleanMember;
|
validate(defs.id, node, "id", id, 1);
|
return node;
|
}
|
function enumNumberMember(id, init) {
|
const node = {
|
type: "EnumNumberMember",
|
id,
|
init
|
};
|
const defs = NODE_FIELDS.EnumNumberMember;
|
validate(defs.id, node, "id", id, 1);
|
validate(defs.init, node, "init", init, 1);
|
return node;
|
}
|
function enumStringMember(id, init) {
|
const node = {
|
type: "EnumStringMember",
|
id,
|
init
|
};
|
const defs = NODE_FIELDS.EnumStringMember;
|
validate(defs.id, node, "id", id, 1);
|
validate(defs.init, node, "init", init, 1);
|
return node;
|
}
|
function enumDefaultedMember(id) {
|
const node = {
|
type: "EnumDefaultedMember",
|
id
|
};
|
const defs = NODE_FIELDS.EnumDefaultedMember;
|
validate(defs.id, node, "id", id, 1);
|
return node;
|
}
|
function indexedAccessType(objectType, indexType) {
|
const node = {
|
type: "IndexedAccessType",
|
objectType,
|
indexType
|
};
|
const defs = NODE_FIELDS.IndexedAccessType;
|
validate(defs.objectType, node, "objectType", objectType, 1);
|
validate(defs.indexType, node, "indexType", indexType, 1);
|
return node;
|
}
|
function optionalIndexedAccessType(objectType, indexType) {
|
const node = {
|
type: "OptionalIndexedAccessType",
|
objectType,
|
indexType,
|
optional: null
|
};
|
const defs = NODE_FIELDS.OptionalIndexedAccessType;
|
validate(defs.objectType, node, "objectType", objectType, 1);
|
validate(defs.indexType, node, "indexType", indexType, 1);
|
return node;
|
}
|
function jsxAttribute(name, value = null) {
|
const node = {
|
type: "JSXAttribute",
|
name,
|
value
|
};
|
const defs = NODE_FIELDS.JSXAttribute;
|
validate(defs.name, node, "name", name, 1);
|
validate(defs.value, node, "value", value, 1);
|
return node;
|
}
|
function jsxClosingElement(name) {
|
const node = {
|
type: "JSXClosingElement",
|
name
|
};
|
const defs = NODE_FIELDS.JSXClosingElement;
|
validate(defs.name, node, "name", name, 1);
|
return node;
|
}
|
function jsxElement(openingElement, closingElement = null, children, selfClosing = null) {
|
const node = {
|
type: "JSXElement",
|
openingElement,
|
closingElement,
|
children,
|
selfClosing
|
};
|
const defs = NODE_FIELDS.JSXElement;
|
validate(defs.openingElement, node, "openingElement", openingElement, 1);
|
validate(defs.closingElement, node, "closingElement", closingElement, 1);
|
validate(defs.children, node, "children", children, 1);
|
validate(defs.selfClosing, node, "selfClosing", selfClosing);
|
return node;
|
}
|
function jsxEmptyExpression() {
|
return {
|
type: "JSXEmptyExpression"
|
};
|
}
|
function jsxExpressionContainer(expression) {
|
const node = {
|
type: "JSXExpressionContainer",
|
expression
|
};
|
const defs = NODE_FIELDS.JSXExpressionContainer;
|
validate(defs.expression, node, "expression", expression, 1);
|
return node;
|
}
|
function jsxSpreadChild(expression) {
|
const node = {
|
type: "JSXSpreadChild",
|
expression
|
};
|
const defs = NODE_FIELDS.JSXSpreadChild;
|
validate(defs.expression, node, "expression", expression, 1);
|
return node;
|
}
|
function jsxIdentifier(name) {
|
const node = {
|
type: "JSXIdentifier",
|
name
|
};
|
const defs = NODE_FIELDS.JSXIdentifier;
|
validate(defs.name, node, "name", name);
|
return node;
|
}
|
function jsxMemberExpression(object, property) {
|
const node = {
|
type: "JSXMemberExpression",
|
object,
|
property
|
};
|
const defs = NODE_FIELDS.JSXMemberExpression;
|
validate(defs.object, node, "object", object, 1);
|
validate(defs.property, node, "property", property, 1);
|
return node;
|
}
|
function jsxNamespacedName(namespace, name) {
|
const node = {
|
type: "JSXNamespacedName",
|
namespace,
|
name
|
};
|
const defs = NODE_FIELDS.JSXNamespacedName;
|
validate(defs.namespace, node, "namespace", namespace, 1);
|
validate(defs.name, node, "name", name, 1);
|
return node;
|
}
|
function jsxOpeningElement(name, attributes, selfClosing = false) {
|
const node = {
|
type: "JSXOpeningElement",
|
name,
|
attributes,
|
selfClosing
|
};
|
const defs = NODE_FIELDS.JSXOpeningElement;
|
validate(defs.name, node, "name", name, 1);
|
validate(defs.attributes, node, "attributes", attributes, 1);
|
validate(defs.selfClosing, node, "selfClosing", selfClosing);
|
return node;
|
}
|
function jsxSpreadAttribute(argument) {
|
const node = {
|
type: "JSXSpreadAttribute",
|
argument
|
};
|
const defs = NODE_FIELDS.JSXSpreadAttribute;
|
validate(defs.argument, node, "argument", argument, 1);
|
return node;
|
}
|
function jsxText(value) {
|
const node = {
|
type: "JSXText",
|
value
|
};
|
const defs = NODE_FIELDS.JSXText;
|
validate(defs.value, node, "value", value);
|
return node;
|
}
|
function jsxFragment(openingFragment, closingFragment, children) {
|
const node = {
|
type: "JSXFragment",
|
openingFragment,
|
closingFragment,
|
children
|
};
|
const defs = NODE_FIELDS.JSXFragment;
|
validate(defs.openingFragment, node, "openingFragment", openingFragment, 1);
|
validate(defs.closingFragment, node, "closingFragment", closingFragment, 1);
|
validate(defs.children, node, "children", children, 1);
|
return node;
|
}
|
function jsxOpeningFragment() {
|
return {
|
type: "JSXOpeningFragment"
|
};
|
}
|
function jsxClosingFragment() {
|
return {
|
type: "JSXClosingFragment"
|
};
|
}
|
function noop() {
|
return {
|
type: "Noop"
|
};
|
}
|
function placeholder(expectedNode, name) {
|
const node = {
|
type: "Placeholder",
|
expectedNode,
|
name
|
};
|
const defs = NODE_FIELDS.Placeholder;
|
validate(defs.expectedNode, node, "expectedNode", expectedNode);
|
validate(defs.name, node, "name", name, 1);
|
return node;
|
}
|
function v8IntrinsicIdentifier(name) {
|
const node = {
|
type: "V8IntrinsicIdentifier",
|
name
|
};
|
const defs = NODE_FIELDS.V8IntrinsicIdentifier;
|
validate(defs.name, node, "name", name);
|
return node;
|
}
|
function argumentPlaceholder() {
|
return {
|
type: "ArgumentPlaceholder"
|
};
|
}
|
function bindExpression(object, callee) {
|
const node = {
|
type: "BindExpression",
|
object,
|
callee
|
};
|
const defs = NODE_FIELDS.BindExpression;
|
validate(defs.object, node, "object", object, 1);
|
validate(defs.callee, node, "callee", callee, 1);
|
return node;
|
}
|
function decorator(expression) {
|
const node = {
|
type: "Decorator",
|
expression
|
};
|
const defs = NODE_FIELDS.Decorator;
|
validate(defs.expression, node, "expression", expression, 1);
|
return node;
|
}
|
function doExpression(body, async = false) {
|
const node = {
|
type: "DoExpression",
|
body,
|
async
|
};
|
const defs = NODE_FIELDS.DoExpression;
|
validate(defs.body, node, "body", body, 1);
|
validate(defs.async, node, "async", async);
|
return node;
|
}
|
function exportDefaultSpecifier(exported) {
|
const node = {
|
type: "ExportDefaultSpecifier",
|
exported
|
};
|
const defs = NODE_FIELDS.ExportDefaultSpecifier;
|
validate(defs.exported, node, "exported", exported, 1);
|
return node;
|
}
|
function recordExpression(properties) {
|
const node = {
|
type: "RecordExpression",
|
properties
|
};
|
const defs = NODE_FIELDS.RecordExpression;
|
validate(defs.properties, node, "properties", properties, 1);
|
return node;
|
}
|
function tupleExpression(elements = []) {
|
const node = {
|
type: "TupleExpression",
|
elements
|
};
|
const defs = NODE_FIELDS.TupleExpression;
|
validate(defs.elements, node, "elements", elements, 1);
|
return node;
|
}
|
function decimalLiteral(value) {
|
const node = {
|
type: "DecimalLiteral",
|
value
|
};
|
const defs = NODE_FIELDS.DecimalLiteral;
|
validate(defs.value, node, "value", value);
|
return node;
|
}
|
function moduleExpression(body) {
|
const node = {
|
type: "ModuleExpression",
|
body
|
};
|
const defs = NODE_FIELDS.ModuleExpression;
|
validate(defs.body, node, "body", body, 1);
|
return node;
|
}
|
function topicReference() {
|
return {
|
type: "TopicReference"
|
};
|
}
|
function pipelineTopicExpression(expression) {
|
const node = {
|
type: "PipelineTopicExpression",
|
expression
|
};
|
const defs = NODE_FIELDS.PipelineTopicExpression;
|
validate(defs.expression, node, "expression", expression, 1);
|
return node;
|
}
|
function pipelineBareFunction(callee) {
|
const node = {
|
type: "PipelineBareFunction",
|
callee
|
};
|
const defs = NODE_FIELDS.PipelineBareFunction;
|
validate(defs.callee, node, "callee", callee, 1);
|
return node;
|
}
|
function pipelinePrimaryTopicReference() {
|
return {
|
type: "PipelinePrimaryTopicReference"
|
};
|
}
|
function voidPattern() {
|
return {
|
type: "VoidPattern"
|
};
|
}
|
function tsParameterProperty(parameter) {
|
const node = {
|
type: "TSParameterProperty",
|
parameter
|
};
|
const defs = NODE_FIELDS.TSParameterProperty;
|
validate(defs.parameter, node, "parameter", parameter, 1);
|
return node;
|
}
|
function tsDeclareFunction(id = null, typeParameters = null, params, returnType = null) {
|
const node = {
|
type: "TSDeclareFunction",
|
id,
|
typeParameters,
|
params,
|
returnType
|
};
|
const defs = NODE_FIELDS.TSDeclareFunction;
|
validate(defs.id, node, "id", id, 1);
|
validate(defs.typeParameters, node, "typeParameters", typeParameters, 1);
|
validate(defs.params, node, "params", params, 1);
|
validate(defs.returnType, node, "returnType", returnType, 1);
|
return node;
|
}
|
function tsDeclareMethod(decorators = null, key, typeParameters = null, params, returnType = null) {
|
const node = {
|
type: "TSDeclareMethod",
|
decorators,
|
key,
|
typeParameters,
|
params,
|
returnType
|
};
|
const defs = NODE_FIELDS.TSDeclareMethod;
|
validate(defs.decorators, node, "decorators", decorators, 1);
|
validate(defs.key, node, "key", key, 1);
|
validate(defs.typeParameters, node, "typeParameters", typeParameters, 1);
|
validate(defs.params, node, "params", params, 1);
|
validate(defs.returnType, node, "returnType", returnType, 1);
|
return node;
|
}
|
function tsQualifiedName(left, right) {
|
const node = {
|
type: "TSQualifiedName",
|
left,
|
right
|
};
|
const defs = NODE_FIELDS.TSQualifiedName;
|
validate(defs.left, node, "left", left, 1);
|
validate(defs.right, node, "right", right, 1);
|
return node;
|
}
|
function tsCallSignatureDeclaration(typeParameters = null, parameters, typeAnnotation = null) {
|
const node = {
|
type: "TSCallSignatureDeclaration",
|
typeParameters,
|
parameters,
|
typeAnnotation
|
};
|
const defs = NODE_FIELDS.TSCallSignatureDeclaration;
|
validate(defs.typeParameters, node, "typeParameters", typeParameters, 1);
|
validate(defs.parameters, node, "parameters", parameters, 1);
|
validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation, 1);
|
return node;
|
}
|
function tsConstructSignatureDeclaration(typeParameters = null, parameters, typeAnnotation = null) {
|
const node = {
|
type: "TSConstructSignatureDeclaration",
|
typeParameters,
|
parameters,
|
typeAnnotation
|
};
|
const defs = NODE_FIELDS.TSConstructSignatureDeclaration;
|
validate(defs.typeParameters, node, "typeParameters", typeParameters, 1);
|
validate(defs.parameters, node, "parameters", parameters, 1);
|
validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation, 1);
|
return node;
|
}
|
function tsPropertySignature(key, typeAnnotation = null) {
|
const node = {
|
type: "TSPropertySignature",
|
key,
|
typeAnnotation
|
};
|
const defs = NODE_FIELDS.TSPropertySignature;
|
validate(defs.key, node, "key", key, 1);
|
validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation, 1);
|
return node;
|
}
|
function tsMethodSignature(key, typeParameters = null, parameters, typeAnnotation = null) {
|
const node = {
|
type: "TSMethodSignature",
|
key,
|
typeParameters,
|
parameters,
|
typeAnnotation,
|
kind: null
|
};
|
const defs = NODE_FIELDS.TSMethodSignature;
|
validate(defs.key, node, "key", key, 1);
|
validate(defs.typeParameters, node, "typeParameters", typeParameters, 1);
|
validate(defs.parameters, node, "parameters", parameters, 1);
|
validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation, 1);
|
return node;
|
}
|
function tsIndexSignature(parameters, typeAnnotation = null) {
|
const node = {
|
type: "TSIndexSignature",
|
parameters,
|
typeAnnotation
|
};
|
const defs = NODE_FIELDS.TSIndexSignature;
|
validate(defs.parameters, node, "parameters", parameters, 1);
|
validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation, 1);
|
return node;
|
}
|
function tsAnyKeyword() {
|
return {
|
type: "TSAnyKeyword"
|
};
|
}
|
function tsBooleanKeyword() {
|
return {
|
type: "TSBooleanKeyword"
|
};
|
}
|
function tsBigIntKeyword() {
|
return {
|
type: "TSBigIntKeyword"
|
};
|
}
|
function tsIntrinsicKeyword() {
|
return {
|
type: "TSIntrinsicKeyword"
|
};
|
}
|
function tsNeverKeyword() {
|
return {
|
type: "TSNeverKeyword"
|
};
|
}
|
function tsNullKeyword() {
|
return {
|
type: "TSNullKeyword"
|
};
|
}
|
function tsNumberKeyword() {
|
return {
|
type: "TSNumberKeyword"
|
};
|
}
|
function tsObjectKeyword() {
|
return {
|
type: "TSObjectKeyword"
|
};
|
}
|
function tsStringKeyword() {
|
return {
|
type: "TSStringKeyword"
|
};
|
}
|
function tsSymbolKeyword() {
|
return {
|
type: "TSSymbolKeyword"
|
};
|
}
|
function tsUndefinedKeyword() {
|
return {
|
type: "TSUndefinedKeyword"
|
};
|
}
|
function tsUnknownKeyword() {
|
return {
|
type: "TSUnknownKeyword"
|
};
|
}
|
function tsVoidKeyword() {
|
return {
|
type: "TSVoidKeyword"
|
};
|
}
|
function tsThisType() {
|
return {
|
type: "TSThisType"
|
};
|
}
|
function tsFunctionType(typeParameters = null, parameters, typeAnnotation = null) {
|
const node = {
|
type: "TSFunctionType",
|
typeParameters,
|
parameters,
|
typeAnnotation
|
};
|
const defs = NODE_FIELDS.TSFunctionType;
|
validate(defs.typeParameters, node, "typeParameters", typeParameters, 1);
|
validate(defs.parameters, node, "parameters", parameters, 1);
|
validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation, 1);
|
return node;
|
}
|
function tsConstructorType(typeParameters = null, parameters, typeAnnotation = null) {
|
const node = {
|
type: "TSConstructorType",
|
typeParameters,
|
parameters,
|
typeAnnotation
|
};
|
const defs = NODE_FIELDS.TSConstructorType;
|
validate(defs.typeParameters, node, "typeParameters", typeParameters, 1);
|
validate(defs.parameters, node, "parameters", parameters, 1);
|
validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation, 1);
|
return node;
|
}
|
function tsTypeReference(typeName, typeParameters = null) {
|
const node = {
|
type: "TSTypeReference",
|
typeName,
|
typeParameters
|
};
|
const defs = NODE_FIELDS.TSTypeReference;
|
validate(defs.typeName, node, "typeName", typeName, 1);
|
validate(defs.typeParameters, node, "typeParameters", typeParameters, 1);
|
return node;
|
}
|
function tsTypePredicate(parameterName, typeAnnotation = null, asserts = null) {
|
const node = {
|
type: "TSTypePredicate",
|
parameterName,
|
typeAnnotation,
|
asserts
|
};
|
const defs = NODE_FIELDS.TSTypePredicate;
|
validate(defs.parameterName, node, "parameterName", parameterName, 1);
|
validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation, 1);
|
validate(defs.asserts, node, "asserts", asserts);
|
return node;
|
}
|
function tsTypeQuery(exprName, typeParameters = null) {
|
const node = {
|
type: "TSTypeQuery",
|
exprName,
|
typeParameters
|
};
|
const defs = NODE_FIELDS.TSTypeQuery;
|
validate(defs.exprName, node, "exprName", exprName, 1);
|
validate(defs.typeParameters, node, "typeParameters", typeParameters, 1);
|
return node;
|
}
|
function tsTypeLiteral(members) {
|
const node = {
|
type: "TSTypeLiteral",
|
members
|
};
|
const defs = NODE_FIELDS.TSTypeLiteral;
|
validate(defs.members, node, "members", members, 1);
|
return node;
|
}
|
function tsArrayType(elementType) {
|
const node = {
|
type: "TSArrayType",
|
elementType
|
};
|
const defs = NODE_FIELDS.TSArrayType;
|
validate(defs.elementType, node, "elementType", elementType, 1);
|
return node;
|
}
|
function tsTupleType(elementTypes) {
|
const node = {
|
type: "TSTupleType",
|
elementTypes
|
};
|
const defs = NODE_FIELDS.TSTupleType;
|
validate(defs.elementTypes, node, "elementTypes", elementTypes, 1);
|
return node;
|
}
|
function tsOptionalType(typeAnnotation) {
|
const node = {
|
type: "TSOptionalType",
|
typeAnnotation
|
};
|
const defs = NODE_FIELDS.TSOptionalType;
|
validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation, 1);
|
return node;
|
}
|
function tsRestType(typeAnnotation) {
|
const node = {
|
type: "TSRestType",
|
typeAnnotation
|
};
|
const defs = NODE_FIELDS.TSRestType;
|
validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation, 1);
|
return node;
|
}
|
function tsNamedTupleMember(label, elementType, optional = false) {
|
const node = {
|
type: "TSNamedTupleMember",
|
label,
|
elementType,
|
optional
|
};
|
const defs = NODE_FIELDS.TSNamedTupleMember;
|
validate(defs.label, node, "label", label, 1);
|
validate(defs.elementType, node, "elementType", elementType, 1);
|
validate(defs.optional, node, "optional", optional);
|
return node;
|
}
|
function tsUnionType(types) {
|
const node = {
|
type: "TSUnionType",
|
types
|
};
|
const defs = NODE_FIELDS.TSUnionType;
|
validate(defs.types, node, "types", types, 1);
|
return node;
|
}
|
function tsIntersectionType(types) {
|
const node = {
|
type: "TSIntersectionType",
|
types
|
};
|
const defs = NODE_FIELDS.TSIntersectionType;
|
validate(defs.types, node, "types", types, 1);
|
return node;
|
}
|
function tsConditionalType(checkType, extendsType, trueType, falseType) {
|
const node = {
|
type: "TSConditionalType",
|
checkType,
|
extendsType,
|
trueType,
|
falseType
|
};
|
const defs = NODE_FIELDS.TSConditionalType;
|
validate(defs.checkType, node, "checkType", checkType, 1);
|
validate(defs.extendsType, node, "extendsType", extendsType, 1);
|
validate(defs.trueType, node, "trueType", trueType, 1);
|
validate(defs.falseType, node, "falseType", falseType, 1);
|
return node;
|
}
|
function tsInferType(typeParameter) {
|
const node = {
|
type: "TSInferType",
|
typeParameter
|
};
|
const defs = NODE_FIELDS.TSInferType;
|
validate(defs.typeParameter, node, "typeParameter", typeParameter, 1);
|
return node;
|
}
|
function tsParenthesizedType(typeAnnotation) {
|
const node = {
|
type: "TSParenthesizedType",
|
typeAnnotation
|
};
|
const defs = NODE_FIELDS.TSParenthesizedType;
|
validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation, 1);
|
return node;
|
}
|
function tsTypeOperator(typeAnnotation, operator = "keyof") {
|
const node = {
|
type: "TSTypeOperator",
|
typeAnnotation,
|
operator
|
};
|
const defs = NODE_FIELDS.TSTypeOperator;
|
validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation, 1);
|
validate(defs.operator, node, "operator", operator);
|
return node;
|
}
|
function tsIndexedAccessType(objectType, indexType) {
|
const node = {
|
type: "TSIndexedAccessType",
|
objectType,
|
indexType
|
};
|
const defs = NODE_FIELDS.TSIndexedAccessType;
|
validate(defs.objectType, node, "objectType", objectType, 1);
|
validate(defs.indexType, node, "indexType", indexType, 1);
|
return node;
|
}
|
function tsMappedType(typeParameter, typeAnnotation = null, nameType = null) {
|
const node = {
|
type: "TSMappedType",
|
typeParameter,
|
typeAnnotation,
|
nameType
|
};
|
const defs = NODE_FIELDS.TSMappedType;
|
validate(defs.typeParameter, node, "typeParameter", typeParameter, 1);
|
validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation, 1);
|
validate(defs.nameType, node, "nameType", nameType, 1);
|
return node;
|
}
|
function tsTemplateLiteralType(quasis, types) {
|
const node = {
|
type: "TSTemplateLiteralType",
|
quasis,
|
types
|
};
|
const defs = NODE_FIELDS.TSTemplateLiteralType;
|
validate(defs.quasis, node, "quasis", quasis, 1);
|
validate(defs.types, node, "types", types, 1);
|
return node;
|
}
|
function tsLiteralType(literal) {
|
const node = {
|
type: "TSLiteralType",
|
literal
|
};
|
const defs = NODE_FIELDS.TSLiteralType;
|
validate(defs.literal, node, "literal", literal, 1);
|
return node;
|
}
|
function tsExpressionWithTypeArguments(expression, typeParameters = null) {
|
const node = {
|
type: "TSExpressionWithTypeArguments",
|
expression,
|
typeParameters
|
};
|
const defs = NODE_FIELDS.TSExpressionWithTypeArguments;
|
validate(defs.expression, node, "expression", expression, 1);
|
validate(defs.typeParameters, node, "typeParameters", typeParameters, 1);
|
return node;
|
}
|
function tsInterfaceDeclaration(id, typeParameters = null, _extends = null, body) {
|
const node = {
|
type: "TSInterfaceDeclaration",
|
id,
|
typeParameters,
|
extends: _extends,
|
body
|
};
|
const defs = NODE_FIELDS.TSInterfaceDeclaration;
|
validate(defs.id, node, "id", id, 1);
|
validate(defs.typeParameters, node, "typeParameters", typeParameters, 1);
|
validate(defs.extends, node, "extends", _extends, 1);
|
validate(defs.body, node, "body", body, 1);
|
return node;
|
}
|
function tsInterfaceBody(body) {
|
const node = {
|
type: "TSInterfaceBody",
|
body
|
};
|
const defs = NODE_FIELDS.TSInterfaceBody;
|
validate(defs.body, node, "body", body, 1);
|
return node;
|
}
|
function tsTypeAliasDeclaration(id, typeParameters = null, typeAnnotation) {
|
const node = {
|
type: "TSTypeAliasDeclaration",
|
id,
|
typeParameters,
|
typeAnnotation
|
};
|
const defs = NODE_FIELDS.TSTypeAliasDeclaration;
|
validate(defs.id, node, "id", id, 1);
|
validate(defs.typeParameters, node, "typeParameters", typeParameters, 1);
|
validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation, 1);
|
return node;
|
}
|
function tsInstantiationExpression(expression, typeParameters = null) {
|
const node = {
|
type: "TSInstantiationExpression",
|
expression,
|
typeParameters
|
};
|
const defs = NODE_FIELDS.TSInstantiationExpression;
|
validate(defs.expression, node, "expression", expression, 1);
|
validate(defs.typeParameters, node, "typeParameters", typeParameters, 1);
|
return node;
|
}
|
function tsAsExpression(expression, typeAnnotation) {
|
const node = {
|
type: "TSAsExpression",
|
expression,
|
typeAnnotation
|
};
|
const defs = NODE_FIELDS.TSAsExpression;
|
validate(defs.expression, node, "expression", expression, 1);
|
validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation, 1);
|
return node;
|
}
|
function tsSatisfiesExpression(expression, typeAnnotation) {
|
const node = {
|
type: "TSSatisfiesExpression",
|
expression,
|
typeAnnotation
|
};
|
const defs = NODE_FIELDS.TSSatisfiesExpression;
|
validate(defs.expression, node, "expression", expression, 1);
|
validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation, 1);
|
return node;
|
}
|
function tsTypeAssertion(typeAnnotation, expression) {
|
const node = {
|
type: "TSTypeAssertion",
|
typeAnnotation,
|
expression
|
};
|
const defs = NODE_FIELDS.TSTypeAssertion;
|
validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation, 1);
|
validate(defs.expression, node, "expression", expression, 1);
|
return node;
|
}
|
function tsEnumBody(members) {
|
const node = {
|
type: "TSEnumBody",
|
members
|
};
|
const defs = NODE_FIELDS.TSEnumBody;
|
validate(defs.members, node, "members", members, 1);
|
return node;
|
}
|
function tsEnumDeclaration(id, members) {
|
const node = {
|
type: "TSEnumDeclaration",
|
id,
|
members
|
};
|
const defs = NODE_FIELDS.TSEnumDeclaration;
|
validate(defs.id, node, "id", id, 1);
|
validate(defs.members, node, "members", members, 1);
|
return node;
|
}
|
function tsEnumMember(id, initializer = null) {
|
const node = {
|
type: "TSEnumMember",
|
id,
|
initializer
|
};
|
const defs = NODE_FIELDS.TSEnumMember;
|
validate(defs.id, node, "id", id, 1);
|
validate(defs.initializer, node, "initializer", initializer, 1);
|
return node;
|
}
|
function tsModuleDeclaration(id, body) {
|
const node = {
|
type: "TSModuleDeclaration",
|
id,
|
body,
|
kind: null
|
};
|
const defs = NODE_FIELDS.TSModuleDeclaration;
|
validate(defs.id, node, "id", id, 1);
|
validate(defs.body, node, "body", body, 1);
|
return node;
|
}
|
function tsModuleBlock(body) {
|
const node = {
|
type: "TSModuleBlock",
|
body
|
};
|
const defs = NODE_FIELDS.TSModuleBlock;
|
validate(defs.body, node, "body", body, 1);
|
return node;
|
}
|
function tsImportType(argument, qualifier = null, typeParameters = null) {
|
const node = {
|
type: "TSImportType",
|
argument,
|
qualifier,
|
typeParameters
|
};
|
const defs = NODE_FIELDS.TSImportType;
|
validate(defs.argument, node, "argument", argument, 1);
|
validate(defs.qualifier, node, "qualifier", qualifier, 1);
|
validate(defs.typeParameters, node, "typeParameters", typeParameters, 1);
|
return node;
|
}
|
function tsImportEqualsDeclaration(id, moduleReference) {
|
const node = {
|
type: "TSImportEqualsDeclaration",
|
id,
|
moduleReference,
|
isExport: null
|
};
|
const defs = NODE_FIELDS.TSImportEqualsDeclaration;
|
validate(defs.id, node, "id", id, 1);
|
validate(defs.moduleReference, node, "moduleReference", moduleReference, 1);
|
return node;
|
}
|
function tsExternalModuleReference(expression) {
|
const node = {
|
type: "TSExternalModuleReference",
|
expression
|
};
|
const defs = NODE_FIELDS.TSExternalModuleReference;
|
validate(defs.expression, node, "expression", expression, 1);
|
return node;
|
}
|
function tsNonNullExpression(expression) {
|
const node = {
|
type: "TSNonNullExpression",
|
expression
|
};
|
const defs = NODE_FIELDS.TSNonNullExpression;
|
validate(defs.expression, node, "expression", expression, 1);
|
return node;
|
}
|
function tsExportAssignment(expression) {
|
const node = {
|
type: "TSExportAssignment",
|
expression
|
};
|
const defs = NODE_FIELDS.TSExportAssignment;
|
validate(defs.expression, node, "expression", expression, 1);
|
return node;
|
}
|
function tsNamespaceExportDeclaration(id) {
|
const node = {
|
type: "TSNamespaceExportDeclaration",
|
id
|
};
|
const defs = NODE_FIELDS.TSNamespaceExportDeclaration;
|
validate(defs.id, node, "id", id, 1);
|
return node;
|
}
|
function tsTypeAnnotation(typeAnnotation) {
|
const node = {
|
type: "TSTypeAnnotation",
|
typeAnnotation
|
};
|
const defs = NODE_FIELDS.TSTypeAnnotation;
|
validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation, 1);
|
return node;
|
}
|
function tsTypeParameterInstantiation(params) {
|
const node = {
|
type: "TSTypeParameterInstantiation",
|
params
|
};
|
const defs = NODE_FIELDS.TSTypeParameterInstantiation;
|
validate(defs.params, node, "params", params, 1);
|
return node;
|
}
|
function tsTypeParameterDeclaration(params) {
|
const node = {
|
type: "TSTypeParameterDeclaration",
|
params
|
};
|
const defs = NODE_FIELDS.TSTypeParameterDeclaration;
|
validate(defs.params, node, "params", params, 1);
|
return node;
|
}
|
function tsTypeParameter(constraint = null, _default = null, name) {
|
const node = {
|
type: "TSTypeParameter",
|
constraint,
|
default: _default,
|
name
|
};
|
const defs = NODE_FIELDS.TSTypeParameter;
|
validate(defs.constraint, node, "constraint", constraint, 1);
|
validate(defs.default, node, "default", _default, 1);
|
validate(defs.name, node, "name", name);
|
return node;
|
}
|
function NumberLiteral(value) {
|
(0, _deprecationWarning.default)("NumberLiteral", "NumericLiteral", "The node type ");
|
return numericLiteral(value);
|
}
|
function RegexLiteral(pattern, flags = "") {
|
(0, _deprecationWarning.default)("RegexLiteral", "RegExpLiteral", "The node type ");
|
return regExpLiteral(pattern, flags);
|
}
|
function RestProperty(argument) {
|
(0, _deprecationWarning.default)("RestProperty", "RestElement", "The node type ");
|
return restElement(argument);
|
}
|
function SpreadProperty(argument) {
|
(0, _deprecationWarning.default)("SpreadProperty", "SpreadElement", "The node type ");
|
return spreadElement(argument);
|
}
|
|
//# sourceMappingURL=lowercase.js.map
|