417 lines
15 KiB
JavaScript
417 lines
15 KiB
JavaScript
|
// Generated by generate-thunkify.js
|
||
|
/**
|
||
|
* Copyright 2018 Shape Security, Inc.
|
||
|
*
|
||
|
* Licensed under the Apache License, Version 2.0 (the "License")
|
||
|
* you may not use this file except in compliance with the License.
|
||
|
* You may obtain a copy of the License at
|
||
|
*
|
||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||
|
*
|
||
|
* Unless required by applicable law or agreed to in writing, software
|
||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
|
* See the License for the specific language governing permissions and
|
||
|
* limitations under the License.
|
||
|
*/
|
||
|
|
||
|
module.exports = function thunkifyClass(reducerClass) {
|
||
|
return class extends reducerClass {
|
||
|
reduceArrayAssignmentTarget(node, { elements, rest }) {
|
||
|
return super.reduceArrayAssignmentTarget(node, { elements: elements.map(n => n == null ? null : n()), rest: rest == null ? null : rest() });
|
||
|
}
|
||
|
|
||
|
reduceArrayBinding(node, { elements, rest }) {
|
||
|
return super.reduceArrayBinding(node, { elements: elements.map(n => n == null ? null : n()), rest: rest == null ? null : rest() });
|
||
|
}
|
||
|
|
||
|
reduceArrayExpression(node, { elements }) {
|
||
|
return super.reduceArrayExpression(node, { elements: elements.map(n => n == null ? null : n()) });
|
||
|
}
|
||
|
|
||
|
reduceArrowExpression(node, { params, body }) {
|
||
|
return super.reduceArrowExpression(node, { params: params(), body: body() });
|
||
|
}
|
||
|
|
||
|
reduceAssignmentExpression(node, { binding, expression }) {
|
||
|
return super.reduceAssignmentExpression(node, { binding: binding(), expression: expression() });
|
||
|
}
|
||
|
|
||
|
reduceAssignmentTargetIdentifier(node) {
|
||
|
return super.reduceAssignmentTargetIdentifier(node);
|
||
|
}
|
||
|
|
||
|
reduceAssignmentTargetPropertyIdentifier(node, { binding, init }) {
|
||
|
return super.reduceAssignmentTargetPropertyIdentifier(node, { binding: binding(), init: init == null ? null : init() });
|
||
|
}
|
||
|
|
||
|
reduceAssignmentTargetPropertyProperty(node, { name, binding }) {
|
||
|
return super.reduceAssignmentTargetPropertyProperty(node, { name: name(), binding: binding() });
|
||
|
}
|
||
|
|
||
|
reduceAssignmentTargetWithDefault(node, { binding, init }) {
|
||
|
return super.reduceAssignmentTargetWithDefault(node, { binding: binding(), init: init() });
|
||
|
}
|
||
|
|
||
|
reduceAwaitExpression(node, { expression }) {
|
||
|
return super.reduceAwaitExpression(node, { expression: expression() });
|
||
|
}
|
||
|
|
||
|
reduceBinaryExpression(node, { left, right }) {
|
||
|
return super.reduceBinaryExpression(node, { left: left(), right: right() });
|
||
|
}
|
||
|
|
||
|
reduceBindingIdentifier(node) {
|
||
|
return super.reduceBindingIdentifier(node);
|
||
|
}
|
||
|
|
||
|
reduceBindingPropertyIdentifier(node, { binding, init }) {
|
||
|
return super.reduceBindingPropertyIdentifier(node, { binding: binding(), init: init == null ? null : init() });
|
||
|
}
|
||
|
|
||
|
reduceBindingPropertyProperty(node, { name, binding }) {
|
||
|
return super.reduceBindingPropertyProperty(node, { name: name(), binding: binding() });
|
||
|
}
|
||
|
|
||
|
reduceBindingWithDefault(node, { binding, init }) {
|
||
|
return super.reduceBindingWithDefault(node, { binding: binding(), init: init() });
|
||
|
}
|
||
|
|
||
|
reduceBlock(node, { statements }) {
|
||
|
return super.reduceBlock(node, { statements: statements.map(n => n()) });
|
||
|
}
|
||
|
|
||
|
reduceBlockStatement(node, { block }) {
|
||
|
return super.reduceBlockStatement(node, { block: block() });
|
||
|
}
|
||
|
|
||
|
reduceBreakStatement(node) {
|
||
|
return super.reduceBreakStatement(node);
|
||
|
}
|
||
|
|
||
|
reduceCallExpression(node, { callee, arguments: _arguments }) {
|
||
|
return super.reduceCallExpression(node, { callee: callee(), arguments: _arguments.map(n => n()) });
|
||
|
}
|
||
|
|
||
|
reduceCatchClause(node, { binding, body }) {
|
||
|
return super.reduceCatchClause(node, { binding: binding == null ? null : binding(), body: body() });
|
||
|
}
|
||
|
|
||
|
reduceClassDeclaration(node, { name, super: _super, elements }) {
|
||
|
return super.reduceClassDeclaration(node, { name: name(), super: _super == null ? null : _super(), elements: elements.map(n => n()) });
|
||
|
}
|
||
|
|
||
|
reduceClassElement(node, { method }) {
|
||
|
return super.reduceClassElement(node, { method: method() });
|
||
|
}
|
||
|
|
||
|
reduceClassExpression(node, { name, super: _super, elements }) {
|
||
|
return super.reduceClassExpression(node, { name: name == null ? null : name(), super: _super == null ? null : _super(), elements: elements.map(n => n()) });
|
||
|
}
|
||
|
|
||
|
reduceCompoundAssignmentExpression(node, { binding, expression }) {
|
||
|
return super.reduceCompoundAssignmentExpression(node, { binding: binding(), expression: expression() });
|
||
|
}
|
||
|
|
||
|
reduceComputedMemberAssignmentTarget(node, { object, expression }) {
|
||
|
return super.reduceComputedMemberAssignmentTarget(node, { object: object(), expression: expression() });
|
||
|
}
|
||
|
|
||
|
reduceComputedMemberExpression(node, { object, expression }) {
|
||
|
return super.reduceComputedMemberExpression(node, { object: object(), expression: expression() });
|
||
|
}
|
||
|
|
||
|
reduceComputedPropertyName(node, { expression }) {
|
||
|
return super.reduceComputedPropertyName(node, { expression: expression() });
|
||
|
}
|
||
|
|
||
|
reduceConditionalExpression(node, { test, consequent, alternate }) {
|
||
|
return super.reduceConditionalExpression(node, { test: test(), consequent: consequent(), alternate: alternate() });
|
||
|
}
|
||
|
|
||
|
reduceContinueStatement(node) {
|
||
|
return super.reduceContinueStatement(node);
|
||
|
}
|
||
|
|
||
|
reduceDataProperty(node, { name, expression }) {
|
||
|
return super.reduceDataProperty(node, { name: name(), expression: expression() });
|
||
|
}
|
||
|
|
||
|
reduceDebuggerStatement(node) {
|
||
|
return super.reduceDebuggerStatement(node);
|
||
|
}
|
||
|
|
||
|
reduceDirective(node) {
|
||
|
return super.reduceDirective(node);
|
||
|
}
|
||
|
|
||
|
reduceDoWhileStatement(node, { body, test }) {
|
||
|
return super.reduceDoWhileStatement(node, { body: body(), test: test() });
|
||
|
}
|
||
|
|
||
|
reduceEmptyStatement(node) {
|
||
|
return super.reduceEmptyStatement(node);
|
||
|
}
|
||
|
|
||
|
reduceExport(node, { declaration }) {
|
||
|
return super.reduceExport(node, { declaration: declaration() });
|
||
|
}
|
||
|
|
||
|
reduceExportAllFrom(node) {
|
||
|
return super.reduceExportAllFrom(node);
|
||
|
}
|
||
|
|
||
|
reduceExportDefault(node, { body }) {
|
||
|
return super.reduceExportDefault(node, { body: body() });
|
||
|
}
|
||
|
|
||
|
reduceExportFrom(node, { namedExports }) {
|
||
|
return super.reduceExportFrom(node, { namedExports: namedExports.map(n => n()) });
|
||
|
}
|
||
|
|
||
|
reduceExportFromSpecifier(node) {
|
||
|
return super.reduceExportFromSpecifier(node);
|
||
|
}
|
||
|
|
||
|
reduceExportLocalSpecifier(node, { name }) {
|
||
|
return super.reduceExportLocalSpecifier(node, { name: name() });
|
||
|
}
|
||
|
|
||
|
reduceExportLocals(node, { namedExports }) {
|
||
|
return super.reduceExportLocals(node, { namedExports: namedExports.map(n => n()) });
|
||
|
}
|
||
|
|
||
|
reduceExpressionStatement(node, { expression }) {
|
||
|
return super.reduceExpressionStatement(node, { expression: expression() });
|
||
|
}
|
||
|
|
||
|
reduceForAwaitStatement(node, { left, right, body }) {
|
||
|
return super.reduceForAwaitStatement(node, { left: left(), right: right(), body: body() });
|
||
|
}
|
||
|
|
||
|
reduceForInStatement(node, { left, right, body }) {
|
||
|
return super.reduceForInStatement(node, { left: left(), right: right(), body: body() });
|
||
|
}
|
||
|
|
||
|
reduceForOfStatement(node, { left, right, body }) {
|
||
|
return super.reduceForOfStatement(node, { left: left(), right: right(), body: body() });
|
||
|
}
|
||
|
|
||
|
reduceForStatement(node, { init, test, update, body }) {
|
||
|
return super.reduceForStatement(node, { init: init == null ? null : init(), test: test == null ? null : test(), update: update == null ? null : update(), body: body() });
|
||
|
}
|
||
|
|
||
|
reduceFormalParameters(node, { items, rest }) {
|
||
|
return super.reduceFormalParameters(node, { items: items.map(n => n()), rest: rest == null ? null : rest() });
|
||
|
}
|
||
|
|
||
|
reduceFunctionBody(node, { directives, statements }) {
|
||
|
return super.reduceFunctionBody(node, { directives: directives.map(n => n()), statements: statements.map(n => n()) });
|
||
|
}
|
||
|
|
||
|
reduceFunctionDeclaration(node, { name, params, body }) {
|
||
|
return super.reduceFunctionDeclaration(node, { name: name(), params: params(), body: body() });
|
||
|
}
|
||
|
|
||
|
reduceFunctionExpression(node, { name, params, body }) {
|
||
|
return super.reduceFunctionExpression(node, { name: name == null ? null : name(), params: params(), body: body() });
|
||
|
}
|
||
|
|
||
|
reduceGetter(node, { name, body }) {
|
||
|
return super.reduceGetter(node, { name: name(), body: body() });
|
||
|
}
|
||
|
|
||
|
reduceIdentifierExpression(node) {
|
||
|
return super.reduceIdentifierExpression(node);
|
||
|
}
|
||
|
|
||
|
reduceIfStatement(node, { test, consequent, alternate }) {
|
||
|
return super.reduceIfStatement(node, { test: test(), consequent: consequent(), alternate: alternate == null ? null : alternate() });
|
||
|
}
|
||
|
|
||
|
reduceImport(node, { defaultBinding, namedImports }) {
|
||
|
return super.reduceImport(node, { defaultBinding: defaultBinding == null ? null : defaultBinding(), namedImports: namedImports.map(n => n()) });
|
||
|
}
|
||
|
|
||
|
reduceImportNamespace(node, { defaultBinding, namespaceBinding }) {
|
||
|
return super.reduceImportNamespace(node, { defaultBinding: defaultBinding == null ? null : defaultBinding(), namespaceBinding: namespaceBinding() });
|
||
|
}
|
||
|
|
||
|
reduceImportSpecifier(node, { binding }) {
|
||
|
return super.reduceImportSpecifier(node, { binding: binding() });
|
||
|
}
|
||
|
|
||
|
reduceLabeledStatement(node, { body }) {
|
||
|
return super.reduceLabeledStatement(node, { body: body() });
|
||
|
}
|
||
|
|
||
|
reduceLiteralBooleanExpression(node) {
|
||
|
return super.reduceLiteralBooleanExpression(node);
|
||
|
}
|
||
|
|
||
|
reduceLiteralInfinityExpression(node) {
|
||
|
return super.reduceLiteralInfinityExpression(node);
|
||
|
}
|
||
|
|
||
|
reduceLiteralNullExpression(node) {
|
||
|
return super.reduceLiteralNullExpression(node);
|
||
|
}
|
||
|
|
||
|
reduceLiteralNumericExpression(node) {
|
||
|
return super.reduceLiteralNumericExpression(node);
|
||
|
}
|
||
|
|
||
|
reduceLiteralRegExpExpression(node) {
|
||
|
return super.reduceLiteralRegExpExpression(node);
|
||
|
}
|
||
|
|
||
|
reduceLiteralStringExpression(node) {
|
||
|
return super.reduceLiteralStringExpression(node);
|
||
|
}
|
||
|
|
||
|
reduceMethod(node, { name, params, body }) {
|
||
|
return super.reduceMethod(node, { name: name(), params: params(), body: body() });
|
||
|
}
|
||
|
|
||
|
reduceModule(node, { directives, items }) {
|
||
|
return super.reduceModule(node, { directives: directives.map(n => n()), items: items.map(n => n()) });
|
||
|
}
|
||
|
|
||
|
reduceNewExpression(node, { callee, arguments: _arguments }) {
|
||
|
return super.reduceNewExpression(node, { callee: callee(), arguments: _arguments.map(n => n()) });
|
||
|
}
|
||
|
|
||
|
reduceNewTargetExpression(node) {
|
||
|
return super.reduceNewTargetExpression(node);
|
||
|
}
|
||
|
|
||
|
reduceObjectAssignmentTarget(node, { properties, rest }) {
|
||
|
return super.reduceObjectAssignmentTarget(node, { properties: properties.map(n => n()), rest: rest == null ? null : rest() });
|
||
|
}
|
||
|
|
||
|
reduceObjectBinding(node, { properties, rest }) {
|
||
|
return super.reduceObjectBinding(node, { properties: properties.map(n => n()), rest: rest == null ? null : rest() });
|
||
|
}
|
||
|
|
||
|
reduceObjectExpression(node, { properties }) {
|
||
|
return super.reduceObjectExpression(node, { properties: properties.map(n => n()) });
|
||
|
}
|
||
|
|
||
|
reduceReturnStatement(node, { expression }) {
|
||
|
return super.reduceReturnStatement(node, { expression: expression == null ? null : expression() });
|
||
|
}
|
||
|
|
||
|
reduceScript(node, { directives, statements }) {
|
||
|
return super.reduceScript(node, { directives: directives.map(n => n()), statements: statements.map(n => n()) });
|
||
|
}
|
||
|
|
||
|
reduceSetter(node, { name, param, body }) {
|
||
|
return super.reduceSetter(node, { name: name(), param: param(), body: body() });
|
||
|
}
|
||
|
|
||
|
reduceShorthandProperty(node, { name }) {
|
||
|
return super.reduceShorthandProperty(node, { name: name() });
|
||
|
}
|
||
|
|
||
|
reduceSpreadElement(node, { expression }) {
|
||
|
return super.reduceSpreadElement(node, { expression: expression() });
|
||
|
}
|
||
|
|
||
|
reduceSpreadProperty(node, { expression }) {
|
||
|
return super.reduceSpreadProperty(node, { expression: expression() });
|
||
|
}
|
||
|
|
||
|
reduceStaticMemberAssignmentTarget(node, { object }) {
|
||
|
return super.reduceStaticMemberAssignmentTarget(node, { object: object() });
|
||
|
}
|
||
|
|
||
|
reduceStaticMemberExpression(node, { object }) {
|
||
|
return super.reduceStaticMemberExpression(node, { object: object() });
|
||
|
}
|
||
|
|
||
|
reduceStaticPropertyName(node) {
|
||
|
return super.reduceStaticPropertyName(node);
|
||
|
}
|
||
|
|
||
|
reduceSuper(node) {
|
||
|
return super.reduceSuper(node);
|
||
|
}
|
||
|
|
||
|
reduceSwitchCase(node, { test, consequent }) {
|
||
|
return super.reduceSwitchCase(node, { test: test(), consequent: consequent.map(n => n()) });
|
||
|
}
|
||
|
|
||
|
reduceSwitchDefault(node, { consequent }) {
|
||
|
return super.reduceSwitchDefault(node, { consequent: consequent.map(n => n()) });
|
||
|
}
|
||
|
|
||
|
reduceSwitchStatement(node, { discriminant, cases }) {
|
||
|
return super.reduceSwitchStatement(node, { discriminant: discriminant(), cases: cases.map(n => n()) });
|
||
|
}
|
||
|
|
||
|
reduceSwitchStatementWithDefault(node, { discriminant, preDefaultCases, defaultCase, postDefaultCases }) {
|
||
|
return super.reduceSwitchStatementWithDefault(node, { discriminant: discriminant(), preDefaultCases: preDefaultCases.map(n => n()), defaultCase: defaultCase(), postDefaultCases: postDefaultCases.map(n => n()) });
|
||
|
}
|
||
|
|
||
|
reduceTemplateElement(node) {
|
||
|
return super.reduceTemplateElement(node);
|
||
|
}
|
||
|
|
||
|
reduceTemplateExpression(node, { tag, elements }) {
|
||
|
return super.reduceTemplateExpression(node, { tag: tag == null ? null : tag(), elements: elements.map(n => n()) });
|
||
|
}
|
||
|
|
||
|
reduceThisExpression(node) {
|
||
|
return super.reduceThisExpression(node);
|
||
|
}
|
||
|
|
||
|
reduceThrowStatement(node, { expression }) {
|
||
|
return super.reduceThrowStatement(node, { expression: expression() });
|
||
|
}
|
||
|
|
||
|
reduceTryCatchStatement(node, { body, catchClause }) {
|
||
|
return super.reduceTryCatchStatement(node, { body: body(), catchClause: catchClause() });
|
||
|
}
|
||
|
|
||
|
reduceTryFinallyStatement(node, { body, catchClause, finalizer }) {
|
||
|
return super.reduceTryFinallyStatement(node, { body: body(), catchClause: catchClause == null ? null : catchClause(), finalizer: finalizer() });
|
||
|
}
|
||
|
|
||
|
reduceUnaryExpression(node, { operand }) {
|
||
|
return super.reduceUnaryExpression(node, { operand: operand() });
|
||
|
}
|
||
|
|
||
|
reduceUpdateExpression(node, { operand }) {
|
||
|
return super.reduceUpdateExpression(node, { operand: operand() });
|
||
|
}
|
||
|
|
||
|
reduceVariableDeclaration(node, { declarators }) {
|
||
|
return super.reduceVariableDeclaration(node, { declarators: declarators.map(n => n()) });
|
||
|
}
|
||
|
|
||
|
reduceVariableDeclarationStatement(node, { declaration }) {
|
||
|
return super.reduceVariableDeclarationStatement(node, { declaration: declaration() });
|
||
|
}
|
||
|
|
||
|
reduceVariableDeclarator(node, { binding, init }) {
|
||
|
return super.reduceVariableDeclarator(node, { binding: binding(), init: init == null ? null : init() });
|
||
|
}
|
||
|
|
||
|
reduceWhileStatement(node, { test, body }) {
|
||
|
return super.reduceWhileStatement(node, { test: test(), body: body() });
|
||
|
}
|
||
|
|
||
|
reduceWithStatement(node, { object, body }) {
|
||
|
return super.reduceWithStatement(node, { object: object(), body: body() });
|
||
|
}
|
||
|
|
||
|
reduceYieldExpression(node, { expression }) {
|
||
|
return super.reduceYieldExpression(node, { expression: expression == null ? null : expression() });
|
||
|
}
|
||
|
|
||
|
reduceYieldGeneratorExpression(node, { expression }) {
|
||
|
return super.reduceYieldGeneratorExpression(node, { expression: expression() });
|
||
|
}
|
||
|
};
|
||
|
};
|