decaffeinate-parser
Version:
A better AST for CoffeeScript, inspired by CoffeeScriptRedux.
18 lines (17 loc) • 867 B
JavaScript
import { AwaitReturn as CoffeeAwaitReturn, YieldReturn as CoffeeYieldReturn } from 'decaffeinate-coffeescript2/lib/coffeescript/nodes';
import { AwaitReturn, Return, YieldReturn } from '../nodes';
import getLocation from '../util/getLocation';
import mapAny from './mapAny';
export default function mapReturn(context, node) {
var _a = getLocation(context, node), line = _a.line, column = _a.column, start = _a.start, end = _a.end, raw = _a.raw;
var argument = node.expression ? mapAny(context, node.expression) : null;
if (node instanceof CoffeeYieldReturn) {
return new YieldReturn(line, column, start, end, raw, argument);
}
else if (node instanceof CoffeeAwaitReturn) {
return new AwaitReturn(line, column, start, end, raw, argument);
}
else {
return new Return(line, column, start, end, raw, argument);
}
}