ts-budgie
Version:
Converts TypeScript code to Budgie.
101 lines • 7.35 kB
JavaScript
"use strict";
var _a;
Object.defineProperty(exports, "__esModule", { value: true });
var ts = require("typescript");
var arrayLiteralExpressionVisitor_1 = require("./visitors/arrayLiteralExpressionVisitor");
var binaryExpressionVisitor_1 = require("./visitors/binaryExpressionVisitor");
var breakStatementVisitor_1 = require("./visitors/breakStatementVisitor");
var callExpressionVisitor_1 = require("./visitors/callExpressionVisitor");
var classDeclarationVisitor_1 = require("./visitors/classDeclarationVisitor");
var constructorDeclarationVisitor_1 = require("./visitors/constructorDeclarationVisitor");
var continueStatementVisitor_1 = require("./visitors/continueStatementVisitor");
var elementAccessExpressionVisitor_1 = require("./visitors/elementAccessExpressionVisitor");
var enumDeclarationVisitor_1 = require("./visitors/enumDeclarationVisitor");
var enumMemberVisitor_1 = require("./visitors/enumMemberVisitor");
var forOfStatementVisitor_1 = require("./visitors/forOfStatementVisitor");
var forStatementVisitor_1 = require("./visitors/forStatementVisitor");
var ifStatementVisitor_1 = require("./visitors/ifStatementVisitor");
var importDeclarationVisitor_1 = require("./visitors/importDeclarationVisitor");
var interfaceDeclarationVisitor_1 = require("./visitors/interfaceDeclarationVisitor");
var literalVisitor_1 = require("./visitors/literalVisitor");
var methodDeclarationVisitor_1 = require("./visitors/methodDeclarationVisitor");
var methodSignatureVisitor_1 = require("./visitors/methodSignatureVisitor");
var newExpressionVisitor_1 = require("./visitors/newExpressionVisitor");
var objectLiteralExpressionVisitor_1 = require("./visitors/objectLiteralExpressionVisitor");
var parenthesizedExpressionVisitor_1 = require("./visitors/parenthesizedExpressionVisitor");
var propertyAccessExpressionVisitor_1 = require("./visitors/propertyAccessExpressionVisitor");
var propertyAssignmentVisitor_1 = require("./visitors/propertyAssignmentVisitor");
var propertyDeclarationVisitor_1 = require("./visitors/propertyDeclarationVisitor");
var returnStatementVisitor_1 = require("./visitors/returnStatementVisitor");
var sourceFileVisitor_1 = require("./visitors/sourceFileVisitor");
var stringLiteralVisitor_1 = require("./visitors/stringLiteralVisitor");
var TemplateExpressionVisitor_1 = require("./visitors/TemplateExpressionVisitor");
var thisExpressionVisitor_1 = require("./visitors/thisExpressionVisitor");
var throwStatementVisitor_1 = require("./visitors/throwStatementVisitor");
var typeLiteralVisitor_1 = require("./visitors/typeLiteralVisitor");
var unsupportedVisitor_1 = require("./visitors/unsupportedVisitor");
var variableDeclarationVisitor_1 = require("./visitors/variableDeclarationVisitor");
var whileStatementVisitor_1 = require("./visitors/whileStatementVisitor");
var creators = (_a = {},
_a[ts.SyntaxKind.ArrayLiteralExpression] = arrayLiteralExpressionVisitor_1.ArrayLiteralExpressionVisitor,
_a[ts.SyntaxKind.BinaryExpression] = binaryExpressionVisitor_1.BinaryExpressionVisitor,
_a[ts.SyntaxKind.BreakStatement] = breakStatementVisitor_1.BreakStatementVisitor,
_a[ts.SyntaxKind.CallExpression] = callExpressionVisitor_1.CallExpressionVisitor,
_a[ts.SyntaxKind.ClassDeclaration] = classDeclarationVisitor_1.ClassDeclarationVisitor,
_a[ts.SyntaxKind.ClassExpression] = unsupportedVisitor_1.UnsupportedVisitor.withDescriptor("class expressions"),
_a[ts.SyntaxKind.Constructor] = constructorDeclarationVisitor_1.ConstructorDeclarationVisitor,
_a[ts.SyntaxKind.ContinueKeyword] = continueStatementVisitor_1.ContinueStatementVisitor,
_a[ts.SyntaxKind.ElementAccessExpression] = elementAccessExpressionVisitor_1.ElementAccessExpressionVisitor,
_a[ts.SyntaxKind.EnumDeclaration] = enumDeclarationVisitor_1.EnumDeclarationVisitor,
_a[ts.SyntaxKind.EnumMember] = enumMemberVisitor_1.EnumMemberVisitor,
_a[ts.SyntaxKind.ExportDeclaration] = unsupportedVisitor_1.UnsupportedVisitor.withDescriptor("exports"),
_a[ts.SyntaxKind.FalseKeyword] = literalVisitor_1.LiteralVisitor,
_a[ts.SyntaxKind.FirstLiteralToken] = literalVisitor_1.LiteralVisitor,
_a[ts.SyntaxKind.ForOfStatement] = forOfStatementVisitor_1.ForOfStatementVisitor,
_a[ts.SyntaxKind.ForStatement] = forStatementVisitor_1.ForStatementVisitor,
_a[ts.SyntaxKind.Identifier] = literalVisitor_1.LiteralVisitor,
_a[ts.SyntaxKind.IfStatement] = ifStatementVisitor_1.IfStatementVisitor,
_a[ts.SyntaxKind.ImportDeclaration] = importDeclarationVisitor_1.ImportDeclarationVisitor,
_a[ts.SyntaxKind.InterfaceDeclaration] = interfaceDeclarationVisitor_1.InterfaceDeclarationVisitor,
_a[ts.SyntaxKind.MethodDeclaration] = methodDeclarationVisitor_1.MethodDeclarationVisitor,
_a[ts.SyntaxKind.MethodSignature] = methodSignatureVisitor_1.MethodSignatureVisitor,
_a[ts.SyntaxKind.ModuleDeclaration] = unsupportedVisitor_1.UnsupportedVisitor.withDescriptor("namespaces"),
_a[ts.SyntaxKind.NewExpression] = newExpressionVisitor_1.NewExpressionVisitor,
_a[ts.SyntaxKind.NumericLiteral] = literalVisitor_1.LiteralVisitor,
_a[ts.SyntaxKind.ObjectLiteralExpression] = objectLiteralExpressionVisitor_1.ObjectLiteralExpressionVisitor,
_a[ts.SyntaxKind.ParenthesizedExpression] = parenthesizedExpressionVisitor_1.ParenthesizedExpressionVisitor,
_a[ts.SyntaxKind.PropertyAccessExpression] = propertyAccessExpressionVisitor_1.PropertyAccessExpressionVisitor,
_a[ts.SyntaxKind.PropertyAssignment] = propertyAssignmentVisitor_1.PropertyAssignmentVisitor,
_a[ts.SyntaxKind.PropertyDeclaration] = propertyDeclarationVisitor_1.PropertyDeclarationVisitor,
_a[ts.SyntaxKind.ReturnStatement] = returnStatementVisitor_1.ReturnStatementVisitor,
_a[ts.SyntaxKind.SourceFile] = sourceFileVisitor_1.SourceFileVisitor,
_a[ts.SyntaxKind.StringLiteral] = stringLiteralVisitor_1.StringLiteralVisitor,
_a[ts.SyntaxKind.SuperKeyword] = unsupportedVisitor_1.UnsupportedVisitor.withDescriptor("super"),
_a[ts.SyntaxKind.SwitchStatement] = unsupportedVisitor_1.UnsupportedVisitor.withDescriptor("switch"),
_a[ts.SyntaxKind.TemplateExpression] = TemplateExpressionVisitor_1.TemplateExpressionVisitor,
_a[ts.SyntaxKind.ThisKeyword] = thisExpressionVisitor_1.ThisExpressionVisitor,
_a[ts.SyntaxKind.ThrowStatement] = throwStatementVisitor_1.ThrowStatementVisitor,
_a[ts.SyntaxKind.TrueKeyword] = literalVisitor_1.LiteralVisitor,
_a[ts.SyntaxKind.TypeLiteral] = typeLiteralVisitor_1.TypeLiteralVisitor,
_a[ts.SyntaxKind.VariableDeclaration] = variableDeclarationVisitor_1.VariableDeclarationVisitor,
_a[ts.SyntaxKind.WhileStatement] = whileStatementVisitor_1.WhileStatementVisitor,
_a);
/**
* Holds visitor creators by their node syntax kind.
*/
var VisitorCreatorsBag = /** @class */ (function () {
function VisitorCreatorsBag() {
}
/**
* Gets the creator for a node syntax kind.
*
* @param kind Syntax kind for a node.
* @returns A creator for that kind of node.
*/
VisitorCreatorsBag.prototype.getCreator = function (kind) {
return creators[kind];
};
return VisitorCreatorsBag;
}());
exports.VisitorCreatorsBag = VisitorCreatorsBag;
//# sourceMappingURL=visitorCreatorsBag.js.map