UNPKG

decaffeinate-parser

Version:

A better AST for CoffeeScript, inspired by CoffeeScriptRedux.

22 lines (21 loc) 1.06 kB
"use strict"; exports.__esModule = true; var coffee_lex_1 = require("coffee-lex"); var nodes_1 = require("../nodes"); var getLocation_1 = require("../util/getLocation"); var mapValue_1 = require("./mapValue"); function mapSuper(context, node) { var location = getLocation_1["default"](context, node); var line = location.line, column = location.column, start = location.start; var superTokenIndex = context.sourceTokens.indexOfTokenStartingAtSourceIndex(start); if (!superTokenIndex) { throw new Error('Expected token at the start of super node.'); } var superToken = context.sourceTokens.tokenAtIndex(superTokenIndex); if (!superToken || superToken.type !== coffee_lex_1.SourceType.SUPER) { throw new Error('Expected super token at the start of super node.'); } var superNode = new nodes_1.Super(line, column, start, superToken.end, context.source.slice(superToken.start, superToken.end)); return mapValue_1.reduceProperty(context, location, superNode, node.accessor); } exports["default"] = mapSuper;