diff --git a/lib/6to5/generation/generators/expressions.js b/lib/6to5/generation/generators/expressions.js index 17f5dbda68..ea767f86a4 100644 --- a/lib/6to5/generation/generators/expressions.js +++ b/lib/6to5/generation/generators/expressions.js @@ -116,3 +116,8 @@ exports.MemberExpression = function (node, print) { print(node.property); } }; + +exports.TypeOfExpression = function (node, print) { + this.push("typeof "); + print(node.expression); +}; diff --git a/lib/6to5/types/alias-keys.json b/lib/6to5/types/alias-keys.json index 56ad154225..ae414db878 100644 --- a/lib/6to5/types/alias-keys.json +++ b/lib/6to5/types/alias-keys.json @@ -1,5 +1,6 @@ { "ExpressionStatement": ["Statement"], + "TypeOfExpression": ["Statement"], "BreakStatement": ["Statement"], "ContinueStatement": ["Statement"], "DebuggerStatement": ["Statement"], diff --git a/lib/6to5/types/builder-keys.json b/lib/6to5/types/builder-keys.json index e9ac7987be..d5836d6bcb 100644 --- a/lib/6to5/types/builder-keys.json +++ b/lib/6to5/types/builder-keys.json @@ -7,6 +7,7 @@ "CallExpression": ["callee", "arguments"], "ConditionalExpression": ["test", "consequent", "alternate"], "ExpressionStatement": ["expression"], + "TypeOfExpression": ["expression"], "File": ["program", "comments", "tokens"], "FunctionExpression": ["id", "params", "body", "generator"], "Identifier": ["name"], diff --git a/lib/6to5/types/visitor-keys.json b/lib/6to5/types/visitor-keys.json index 32292aa669..7a963a8faf 100644 --- a/lib/6to5/types/visitor-keys.json +++ b/lib/6to5/types/visitor-keys.json @@ -26,6 +26,7 @@ "ExportDeclaration": ["declaration", "specifiers", "source"], "ExportSpecifier": ["id", "name"], "ExpressionStatement": ["expression"], + "TypeOfExpression": ["expression"], "File": ["program"], "ForInStatement": ["left", "right", "body"], "ForOfStatement": ["left", "right", "body"],