astexplorer.app
Version:
https://astexplorer.net with ES Modules support and Hot Reloading
1 lines • 743 kB
JavaScript
(window.webpackJsonp=window.webpackJsonp||[]).push([[50],{"./node_modules/multimap/index.js":function(module,exports,__webpack_require__){"use strict";eval("/* WEBPACK VAR INJECTION */(function(module) {var __WEBPACK_AMD_DEFINE_RESULT__;\n\n/* global module, define */\n\nfunction mapEach(map, operation){\n var keys = map.keys();\n var next;\n while(!(next = keys.next()).done) {\n operation(map.get(next.value), next.value, map);\n }\n}\n\nvar Multimap = (function() {\n var mapCtor;\n if (typeof Map !== 'undefined') {\n mapCtor = Map;\n\n if (!Map.prototype.keys) {\n Map.prototype.keys = function() {\n var keys = [];\n this.forEach(function(item, key) {\n keys.push(key);\n });\n return keys;\n };\n }\n }\n\n function Multimap(iterable) {\n var self = this;\n\n self._map = mapCtor;\n\n if (Multimap.Map) {\n self._map = Multimap.Map;\n }\n\n self._ = self._map ? new self._map() : {};\n\n if (iterable) {\n iterable.forEach(function(i) {\n self.set(i[0], i[1]);\n });\n }\n }\n\n /**\n * @param {Object} key\n * @return {Array} An array of values, undefined if no such a key;\n */\n Multimap.prototype.get = function(key) {\n return this._map ? this._.get(key) : this._[key];\n };\n\n /**\n * @param {Object} key\n * @param {Object} val...\n */\n Multimap.prototype.set = function(key, val) {\n var args = Array.prototype.slice.call(arguments);\n\n key = args.shift();\n\n var entry = this.get(key);\n if (!entry) {\n entry = [];\n if (this._map)\n this._.set(key, entry);\n else\n this._[key] = entry;\n }\n\n Array.prototype.push.apply(entry, args);\n return this;\n };\n\n /**\n * @param {Object} key\n * @param {Object=} val\n * @return {boolean} true if any thing changed\n */\n Multimap.prototype.delete = function(key, val) {\n if (!this.has(key))\n return false;\n\n if (arguments.length == 1) {\n this._map ? (this._.delete(key)) : (delete this._[key]);\n return true;\n } else {\n var entry = this.get(key);\n var idx = entry.indexOf(val);\n if (idx != -1) {\n entry.splice(idx, 1);\n return true;\n }\n }\n\n return false;\n };\n\n /**\n * @param {Object} key\n * @param {Object=} val\n * @return {boolean} whether the map contains 'key' or 'key=>val' pair\n */\n Multimap.prototype.has = function(key, val) {\n var hasKey = this._map ? this._.has(key) : this._.hasOwnProperty(key);\n\n if (arguments.length == 1 || !hasKey)\n return hasKey;\n\n var entry = this.get(key) || [];\n return entry.indexOf(val) != -1;\n };\n\n\n /**\n * @return {Array} all the keys in the map\n */\n Multimap.prototype.keys = function() {\n if (this._map)\n return makeIterator(this._.keys());\n\n return makeIterator(Object.keys(this._));\n };\n\n /**\n * @return {Array} all the values in the map\n */\n Multimap.prototype.values = function() {\n var vals = [];\n this.forEachEntry(function(entry) {\n Array.prototype.push.apply(vals, entry);\n });\n\n return makeIterator(vals);\n };\n\n /**\n *\n */\n Multimap.prototype.forEachEntry = function(iter) {\n mapEach(this, iter);\n };\n\n Multimap.prototype.forEach = function(iter) {\n var self = this;\n self.forEachEntry(function(entry, key) {\n entry.forEach(function(item) {\n iter(item, key, self);\n });\n });\n };\n\n\n Multimap.prototype.clear = function() {\n if (this._map) {\n this._.clear();\n } else {\n this._ = {};\n }\n };\n\n Object.defineProperty(\n Multimap.prototype,\n \"size\", {\n configurable: false,\n enumerable: true,\n get: function() {\n var total = 0;\n\n mapEach(this, function(value){\n total += value.length;\n });\n\n return total;\n }\n });\n\n var safariNext;\n\n try{\n safariNext = new Function('iterator', 'makeIterator', 'var keysArray = []; for(var key of iterator){keysArray.push(key);} return makeIterator(keysArray).next;');\n }catch(error){\n // for of not implemented;\n }\n\n function makeIterator(iterator){\n if(Array.isArray(iterator)){\n var nextIndex = 0;\n\n return {\n next: function(){\n return nextIndex < iterator.length ?\n {value: iterator[nextIndex++], done: false} :\n {done: true};\n }\n };\n }\n\n // Only an issue in safari\n if(!iterator.next && safariNext){\n iterator.next = safariNext(iterator, makeIterator);\n }\n\n return iterator;\n }\n\n return Multimap;\n})();\n\n\nif( true && module && module.exports)\n module.exports = Multimap;\nelse if(true)\n !(__WEBPACK_AMD_DEFINE_RESULT__ = (function() { return Multimap; }).call(exports, __webpack_require__, exports, module),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(\"./node_modules/webpack/buildin/module.js\")(module)))\n\n//# sourceURL=webpack:///./node_modules/multimap/index.js?")},"./node_modules/shift-ast/dist/index.js":function(module,exports,__webpack_require__){"use strict";eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n// Generated by src/generate.js.\n\n/**\n * Copyright 2016 Shape Security, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\")\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nvar ArrayAssignmentTarget = exports.ArrayAssignmentTarget = function ArrayAssignmentTarget(_ref) {\n var elements = _ref.elements,\n rest = _ref.rest;\n\n _classCallCheck(this, ArrayAssignmentTarget);\n\n this.type = 'ArrayAssignmentTarget';\n this.elements = elements;\n this.rest = rest;\n};\n\nvar ArrayBinding = exports.ArrayBinding = function ArrayBinding(_ref2) {\n var elements = _ref2.elements,\n rest = _ref2.rest;\n\n _classCallCheck(this, ArrayBinding);\n\n this.type = 'ArrayBinding';\n this.elements = elements;\n this.rest = rest;\n};\n\nvar ArrayExpression = exports.ArrayExpression = function ArrayExpression(_ref3) {\n var elements = _ref3.elements;\n\n _classCallCheck(this, ArrayExpression);\n\n this.type = 'ArrayExpression';\n this.elements = elements;\n};\n\nvar ArrowExpression = exports.ArrowExpression = function ArrowExpression(_ref4) {\n var isAsync = _ref4.isAsync,\n params = _ref4.params,\n body = _ref4.body;\n\n _classCallCheck(this, ArrowExpression);\n\n this.type = 'ArrowExpression';\n this.isAsync = isAsync;\n this.params = params;\n this.body = body;\n};\n\nvar AssignmentExpression = exports.AssignmentExpression = function AssignmentExpression(_ref5) {\n var binding = _ref5.binding,\n expression = _ref5.expression;\n\n _classCallCheck(this, AssignmentExpression);\n\n this.type = 'AssignmentExpression';\n this.binding = binding;\n this.expression = expression;\n};\n\nvar AssignmentTargetIdentifier = exports.AssignmentTargetIdentifier = function AssignmentTargetIdentifier(_ref6) {\n var name = _ref6.name;\n\n _classCallCheck(this, AssignmentTargetIdentifier);\n\n this.type = 'AssignmentTargetIdentifier';\n this.name = name;\n};\n\nvar AssignmentTargetPropertyIdentifier = exports.AssignmentTargetPropertyIdentifier = function AssignmentTargetPropertyIdentifier(_ref7) {\n var binding = _ref7.binding,\n init = _ref7.init;\n\n _classCallCheck(this, AssignmentTargetPropertyIdentifier);\n\n this.type = 'AssignmentTargetPropertyIdentifier';\n this.binding = binding;\n this.init = init;\n};\n\nvar AssignmentTargetPropertyProperty = exports.AssignmentTargetPropertyProperty = function AssignmentTargetPropertyProperty(_ref8) {\n var name = _ref8.name,\n binding = _ref8.binding;\n\n _classCallCheck(this, AssignmentTargetPropertyProperty);\n\n this.type = 'AssignmentTargetPropertyProperty';\n this.name = name;\n this.binding = binding;\n};\n\nvar AssignmentTargetWithDefault = exports.AssignmentTargetWithDefault = function AssignmentTargetWithDefault(_ref9) {\n var binding = _ref9.binding,\n init = _ref9.init;\n\n _classCallCheck(this, AssignmentTargetWithDefault);\n\n this.type = 'AssignmentTargetWithDefault';\n this.binding = binding;\n this.init = init;\n};\n\nvar AwaitExpression = exports.AwaitExpression = function AwaitExpression(_ref10) {\n var expression = _ref10.expression;\n\n _classCallCheck(this, AwaitExpression);\n\n this.type = 'AwaitExpression';\n this.expression = expression;\n};\n\nvar BinaryExpression = exports.BinaryExpression = function BinaryExpression(_ref11) {\n var left = _ref11.left,\n operator = _ref11.operator,\n right = _ref11.right;\n\n _classCallCheck(this, BinaryExpression);\n\n this.type = 'BinaryExpression';\n this.left = left;\n this.operator = operator;\n this.right = right;\n};\n\nvar BindingIdentifier = exports.BindingIdentifier = function BindingIdentifier(_ref12) {\n var name = _ref12.name;\n\n _classCallCheck(this, BindingIdentifier);\n\n this.type = 'BindingIdentifier';\n this.name = name;\n};\n\nvar BindingPropertyIdentifier = exports.BindingPropertyIdentifier = function BindingPropertyIdentifier(_ref13) {\n var binding = _ref13.binding,\n init = _ref13.init;\n\n _classCallCheck(this, BindingPropertyIdentifier);\n\n this.type = 'BindingPropertyIdentifier';\n this.binding = binding;\n this.init = init;\n};\n\nvar BindingPropertyProperty = exports.BindingPropertyProperty = function BindingPropertyProperty(_ref14) {\n var name = _ref14.name,\n binding = _ref14.binding;\n\n _classCallCheck(this, BindingPropertyProperty);\n\n this.type = 'BindingPropertyProperty';\n this.name = name;\n this.binding = binding;\n};\n\nvar BindingWithDefault = exports.BindingWithDefault = function BindingWithDefault(_ref15) {\n var binding = _ref15.binding,\n init = _ref15.init;\n\n _classCallCheck(this, BindingWithDefault);\n\n this.type = 'BindingWithDefault';\n this.binding = binding;\n this.init = init;\n};\n\nvar Block = exports.Block = function Block(_ref16) {\n var statements = _ref16.statements;\n\n _classCallCheck(this, Block);\n\n this.type = 'Block';\n this.statements = statements;\n};\n\nvar BlockStatement = exports.BlockStatement = function BlockStatement(_ref17) {\n var block = _ref17.block;\n\n _classCallCheck(this, BlockStatement);\n\n this.type = 'BlockStatement';\n this.block = block;\n};\n\nvar BreakStatement = exports.BreakStatement = function BreakStatement(_ref18) {\n var label = _ref18.label;\n\n _classCallCheck(this, BreakStatement);\n\n this.type = 'BreakStatement';\n this.label = label;\n};\n\nvar CallExpression = exports.CallExpression = function CallExpression(_ref19) {\n var callee = _ref19.callee,\n _arguments = _ref19.arguments;\n\n _classCallCheck(this, CallExpression);\n\n this.type = 'CallExpression';\n this.callee = callee;\n this.arguments = _arguments;\n};\n\nvar CatchClause = exports.CatchClause = function CatchClause(_ref20) {\n var binding = _ref20.binding,\n body = _ref20.body;\n\n _classCallCheck(this, CatchClause);\n\n this.type = 'CatchClause';\n this.binding = binding;\n this.body = body;\n};\n\nvar ClassDeclaration = exports.ClassDeclaration = function ClassDeclaration(_ref21) {\n var name = _ref21.name,\n _super = _ref21.super,\n elements = _ref21.elements;\n\n _classCallCheck(this, ClassDeclaration);\n\n this.type = 'ClassDeclaration';\n this.name = name;\n this.super = _super;\n this.elements = elements;\n};\n\nvar ClassElement = exports.ClassElement = function ClassElement(_ref22) {\n var isStatic = _ref22.isStatic,\n method = _ref22.method;\n\n _classCallCheck(this, ClassElement);\n\n this.type = 'ClassElement';\n this.isStatic = isStatic;\n this.method = method;\n};\n\nvar ClassExpression = exports.ClassExpression = function ClassExpression(_ref23) {\n var name = _ref23.name,\n _super = _ref23.super,\n elements = _ref23.elements;\n\n _classCallCheck(this, ClassExpression);\n\n this.type = 'ClassExpression';\n this.name = name;\n this.super = _super;\n this.elements = elements;\n};\n\nvar CompoundAssignmentExpression = exports.CompoundAssignmentExpression = function CompoundAssignmentExpression(_ref24) {\n var binding = _ref24.binding,\n operator = _ref24.operator,\n expression = _ref24.expression;\n\n _classCallCheck(this, CompoundAssignmentExpression);\n\n this.type = 'CompoundAssignmentExpression';\n this.binding = binding;\n this.operator = operator;\n this.expression = expression;\n};\n\nvar ComputedMemberAssignmentTarget = exports.ComputedMemberAssignmentTarget = function ComputedMemberAssignmentTarget(_ref25) {\n var object = _ref25.object,\n expression = _ref25.expression;\n\n _classCallCheck(this, ComputedMemberAssignmentTarget);\n\n this.type = 'ComputedMemberAssignmentTarget';\n this.object = object;\n this.expression = expression;\n};\n\nvar ComputedMemberExpression = exports.ComputedMemberExpression = function ComputedMemberExpression(_ref26) {\n var object = _ref26.object,\n expression = _ref26.expression;\n\n _classCallCheck(this, ComputedMemberExpression);\n\n this.type = 'ComputedMemberExpression';\n this.object = object;\n this.expression = expression;\n};\n\nvar ComputedPropertyName = exports.ComputedPropertyName = function ComputedPropertyName(_ref27) {\n var expression = _ref27.expression;\n\n _classCallCheck(this, ComputedPropertyName);\n\n this.type = 'ComputedPropertyName';\n this.expression = expression;\n};\n\nvar ConditionalExpression = exports.ConditionalExpression = function ConditionalExpression(_ref28) {\n var test = _ref28.test,\n consequent = _ref28.consequent,\n alternate = _ref28.alternate;\n\n _classCallCheck(this, ConditionalExpression);\n\n this.type = 'ConditionalExpression';\n this.test = test;\n this.consequent = consequent;\n this.alternate = alternate;\n};\n\nvar ContinueStatement = exports.ContinueStatement = function ContinueStatement(_ref29) {\n var label = _ref29.label;\n\n _classCallCheck(this, ContinueStatement);\n\n this.type = 'ContinueStatement';\n this.label = label;\n};\n\nvar DataProperty = exports.DataProperty = function DataProperty(_ref30) {\n var name = _ref30.name,\n expression = _ref30.expression;\n\n _classCallCheck(this, DataProperty);\n\n this.type = 'DataProperty';\n this.name = name;\n this.expression = expression;\n};\n\nvar DebuggerStatement = exports.DebuggerStatement = function DebuggerStatement() {\n _classCallCheck(this, DebuggerStatement);\n\n this.type = 'DebuggerStatement';\n};\n\nvar Directive = exports.Directive = function Directive(_ref31) {\n var rawValue = _ref31.rawValue;\n\n _classCallCheck(this, Directive);\n\n this.type = 'Directive';\n this.rawValue = rawValue;\n};\n\nvar DoWhileStatement = exports.DoWhileStatement = function DoWhileStatement(_ref32) {\n var body = _ref32.body,\n test = _ref32.test;\n\n _classCallCheck(this, DoWhileStatement);\n\n this.type = 'DoWhileStatement';\n this.body = body;\n this.test = test;\n};\n\nvar EmptyStatement = exports.EmptyStatement = function EmptyStatement() {\n _classCallCheck(this, EmptyStatement);\n\n this.type = 'EmptyStatement';\n};\n\nvar Export = exports.Export = function Export(_ref33) {\n var declaration = _ref33.declaration;\n\n _classCallCheck(this, Export);\n\n this.type = 'Export';\n this.declaration = declaration;\n};\n\nvar ExportAllFrom = exports.ExportAllFrom = function ExportAllFrom(_ref34) {\n var moduleSpecifier = _ref34.moduleSpecifier;\n\n _classCallCheck(this, ExportAllFrom);\n\n this.type = 'ExportAllFrom';\n this.moduleSpecifier = moduleSpecifier;\n};\n\nvar ExportDefault = exports.ExportDefault = function ExportDefault(_ref35) {\n var body = _ref35.body;\n\n _classCallCheck(this, ExportDefault);\n\n this.type = 'ExportDefault';\n this.body = body;\n};\n\nvar ExportFrom = exports.ExportFrom = function ExportFrom(_ref36) {\n var namedExports = _ref36.namedExports,\n moduleSpecifier = _ref36.moduleSpecifier;\n\n _classCallCheck(this, ExportFrom);\n\n this.type = 'ExportFrom';\n this.namedExports = namedExports;\n this.moduleSpecifier = moduleSpecifier;\n};\n\nvar ExportFromSpecifier = exports.ExportFromSpecifier = function ExportFromSpecifier(_ref37) {\n var name = _ref37.name,\n exportedName = _ref37.exportedName;\n\n _classCallCheck(this, ExportFromSpecifier);\n\n this.type = 'ExportFromSpecifier';\n this.name = name;\n this.exportedName = exportedName;\n};\n\nvar ExportLocalSpecifier = exports.ExportLocalSpecifier = function ExportLocalSpecifier(_ref38) {\n var name = _ref38.name,\n exportedName = _ref38.exportedName;\n\n _classCallCheck(this, ExportLocalSpecifier);\n\n this.type = 'ExportLocalSpecifier';\n this.name = name;\n this.exportedName = exportedName;\n};\n\nvar ExportLocals = exports.ExportLocals = function ExportLocals(_ref39) {\n var namedExports = _ref39.namedExports;\n\n _classCallCheck(this, ExportLocals);\n\n this.type = 'ExportLocals';\n this.namedExports = namedExports;\n};\n\nvar ExpressionStatement = exports.ExpressionStatement = function ExpressionStatement(_ref40) {\n var expression = _ref40.expression;\n\n _classCallCheck(this, ExpressionStatement);\n\n this.type = 'ExpressionStatement';\n this.expression = expression;\n};\n\nvar ForAwaitStatement = exports.ForAwaitStatement = function ForAwaitStatement(_ref41) {\n var left = _ref41.left,\n right = _ref41.right,\n body = _ref41.body;\n\n _classCallCheck(this, ForAwaitStatement);\n\n this.type = 'ForAwaitStatement';\n this.left = left;\n this.right = right;\n this.body = body;\n};\n\nvar ForInStatement = exports.ForInStatement = function ForInStatement(_ref42) {\n var left = _ref42.left,\n right = _ref42.right,\n body = _ref42.body;\n\n _classCallCheck(this, ForInStatement);\n\n this.type = 'ForInStatement';\n this.left = left;\n this.right = right;\n this.body = body;\n};\n\nvar ForOfStatement = exports.ForOfStatement = function ForOfStatement(_ref43) {\n var left = _ref43.left,\n right = _ref43.right,\n body = _ref43.body;\n\n _classCallCheck(this, ForOfStatement);\n\n this.type = 'ForOfStatement';\n this.left = left;\n this.right = right;\n this.body = body;\n};\n\nvar ForStatement = exports.ForStatement = function ForStatement(_ref44) {\n var init = _ref44.init,\n test = _ref44.test,\n update = _ref44.update,\n body = _ref44.body;\n\n _classCallCheck(this, ForStatement);\n\n this.type = 'ForStatement';\n this.init = init;\n this.test = test;\n this.update = update;\n this.body = body;\n};\n\nvar FormalParameters = exports.FormalParameters = function FormalParameters(_ref45) {\n var items = _ref45.items,\n rest = _ref45.rest;\n\n _classCallCheck(this, FormalParameters);\n\n this.type = 'FormalParameters';\n this.items = items;\n this.rest = rest;\n};\n\nvar FunctionBody = exports.FunctionBody = function FunctionBody(_ref46) {\n var directives = _ref46.directives,\n statements = _ref46.statements;\n\n _classCallCheck(this, FunctionBody);\n\n this.type = 'FunctionBody';\n this.directives = directives;\n this.statements = statements;\n};\n\nvar FunctionDeclaration = exports.FunctionDeclaration = function FunctionDeclaration(_ref47) {\n var isAsync = _ref47.isAsync,\n isGenerator = _ref47.isGenerator,\n name = _ref47.name,\n params = _ref47.params,\n body = _ref47.body;\n\n _classCallCheck(this, FunctionDeclaration);\n\n this.type = 'FunctionDeclaration';\n this.isAsync = isAsync;\n this.isGenerator = isGenerator;\n this.name = name;\n this.params = params;\n this.body = body;\n};\n\nvar FunctionExpression = exports.FunctionExpression = function FunctionExpression(_ref48) {\n var isAsync = _ref48.isAsync,\n isGenerator = _ref48.isGenerator,\n name = _ref48.name,\n params = _ref48.params,\n body = _ref48.body;\n\n _classCallCheck(this, FunctionExpression);\n\n this.type = 'FunctionExpression';\n this.isAsync = isAsync;\n this.isGenerator = isGenerator;\n this.name = name;\n this.params = params;\n this.body = body;\n};\n\nvar Getter = exports.Getter = function Getter(_ref49) {\n var name = _ref49.name,\n body = _ref49.body;\n\n _classCallCheck(this, Getter);\n\n this.type = 'Getter';\n this.name = name;\n this.body = body;\n};\n\nvar IdentifierExpression = exports.IdentifierExpression = function IdentifierExpression(_ref50) {\n var name = _ref50.name;\n\n _classCallCheck(this, IdentifierExpression);\n\n this.type = 'IdentifierExpression';\n this.name = name;\n};\n\nvar IfStatement = exports.IfStatement = function IfStatement(_ref51) {\n var test = _ref51.test,\n consequent = _ref51.consequent,\n alternate = _ref51.alternate;\n\n _classCallCheck(this, IfStatement);\n\n this.type = 'IfStatement';\n this.test = test;\n this.consequent = consequent;\n this.alternate = alternate;\n};\n\nvar Import = exports.Import = function Import(_ref52) {\n var defaultBinding = _ref52.defaultBinding,\n namedImports = _ref52.namedImports,\n moduleSpecifier = _ref52.moduleSpecifier;\n\n _classCallCheck(this, Import);\n\n this.type = 'Import';\n this.defaultBinding = defaultBinding;\n this.namedImports = namedImports;\n this.moduleSpecifier = moduleSpecifier;\n};\n\nvar ImportNamespace = exports.ImportNamespace = function ImportNamespace(_ref53) {\n var defaultBinding = _ref53.defaultBinding,\n namespaceBinding = _ref53.namespaceBinding,\n moduleSpecifier = _ref53.moduleSpecifier;\n\n _classCallCheck(this, ImportNamespace);\n\n this.type = 'ImportNamespace';\n this.defaultBinding = defaultBinding;\n this.namespaceBinding = namespaceBinding;\n this.moduleSpecifier = moduleSpecifier;\n};\n\nvar ImportSpecifier = exports.ImportSpecifier = function ImportSpecifier(_ref54) {\n var name = _ref54.name,\n binding = _ref54.binding;\n\n _classCallCheck(this, ImportSpecifier);\n\n this.type = 'ImportSpecifier';\n this.name = name;\n this.binding = binding;\n};\n\nvar LabeledStatement = exports.LabeledStatement = function LabeledStatement(_ref55) {\n var label = _ref55.label,\n body = _ref55.body;\n\n _classCallCheck(this, LabeledStatement);\n\n this.type = 'LabeledStatement';\n this.label = label;\n this.body = body;\n};\n\nvar LiteralBooleanExpression = exports.LiteralBooleanExpression = function LiteralBooleanExpression(_ref56) {\n var value = _ref56.value;\n\n _classCallCheck(this, LiteralBooleanExpression);\n\n this.type = 'LiteralBooleanExpression';\n this.value = value;\n};\n\nvar LiteralInfinityExpression = exports.LiteralInfinityExpression = function LiteralInfinityExpression() {\n _classCallCheck(this, LiteralInfinityExpression);\n\n this.type = 'LiteralInfinityExpression';\n};\n\nvar LiteralNullExpression = exports.LiteralNullExpression = function LiteralNullExpression() {\n _classCallCheck(this, LiteralNullExpression);\n\n this.type = 'LiteralNullExpression';\n};\n\nvar LiteralNumericExpression = exports.LiteralNumericExpression = function LiteralNumericExpression(_ref57) {\n var value = _ref57.value;\n\n _classCallCheck(this, LiteralNumericExpression);\n\n this.type = 'LiteralNumericExpression';\n this.value = value;\n};\n\nvar LiteralRegExpExpression = exports.LiteralRegExpExpression = function LiteralRegExpExpression(_ref58) {\n var pattern = _ref58.pattern,\n global = _ref58.global,\n ignoreCase = _ref58.ignoreCase,\n multiLine = _ref58.multiLine,\n dotAll = _ref58.dotAll,\n unicode = _ref58.unicode,\n sticky = _ref58.sticky;\n\n _classCallCheck(this, LiteralRegExpExpression);\n\n this.type = 'LiteralRegExpExpression';\n this.pattern = pattern;\n this.global = global;\n this.ignoreCase = ignoreCase;\n this.multiLine = multiLine;\n this.dotAll = dotAll;\n this.unicode = unicode;\n this.sticky = sticky;\n};\n\nvar LiteralStringExpression = exports.LiteralStringExpression = function LiteralStringExpression(_ref59) {\n var value = _ref59.value;\n\n _classCallCheck(this, LiteralStringExpression);\n\n this.type = 'LiteralStringExpression';\n this.value = value;\n};\n\nvar Method = exports.Method = function Method(_ref60) {\n var isAsync = _ref60.isAsync,\n isGenerator = _ref60.isGenerator,\n name = _ref60.name,\n params = _ref60.params,\n body = _ref60.body;\n\n _classCallCheck(this, Method);\n\n this.type = 'Method';\n this.isAsync = isAsync;\n this.isGenerator = isGenerator;\n this.name = name;\n this.params = params;\n this.body = body;\n};\n\nvar Module = exports.Module = function Module(_ref61) {\n var directives = _ref61.directives,\n items = _ref61.items;\n\n _classCallCheck(this, Module);\n\n this.type = 'Module';\n this.directives = directives;\n this.items = items;\n};\n\nvar NewExpression = exports.NewExpression = function NewExpression(_ref62) {\n var callee = _ref62.callee,\n _arguments = _ref62.arguments;\n\n _classCallCheck(this, NewExpression);\n\n this.type = 'NewExpression';\n this.callee = callee;\n this.arguments = _arguments;\n};\n\nvar NewTargetExpression = exports.NewTargetExpression = function NewTargetExpression() {\n _classCallCheck(this, NewTargetExpression);\n\n this.type = 'NewTargetExpression';\n};\n\nvar ObjectAssignmentTarget = exports.ObjectAssignmentTarget = function ObjectAssignmentTarget(_ref63) {\n var properties = _ref63.properties,\n rest = _ref63.rest;\n\n _classCallCheck(this, ObjectAssignmentTarget);\n\n this.type = 'ObjectAssignmentTarget';\n this.properties = properties;\n this.rest = rest;\n};\n\nvar ObjectBinding = exports.ObjectBinding = function ObjectBinding(_ref64) {\n var properties = _ref64.properties,\n rest = _ref64.rest;\n\n _classCallCheck(this, ObjectBinding);\n\n this.type = 'ObjectBinding';\n this.properties = properties;\n this.rest = rest;\n};\n\nvar ObjectExpression = exports.ObjectExpression = function ObjectExpression(_ref65) {\n var properties = _ref65.properties;\n\n _classCallCheck(this, ObjectExpression);\n\n this.type = 'ObjectExpression';\n this.properties = properties;\n};\n\nvar ReturnStatement = exports.ReturnStatement = function ReturnStatement(_ref66) {\n var expression = _ref66.expression;\n\n _classCallCheck(this, ReturnStatement);\n\n this.type = 'ReturnStatement';\n this.expression = expression;\n};\n\nvar Script = exports.Script = function Script(_ref67) {\n var directives = _ref67.directives,\n statements = _ref67.statements;\n\n _classCallCheck(this, Script);\n\n this.type = 'Script';\n this.directives = directives;\n this.statements = statements;\n};\n\nvar Setter = exports.Setter = function Setter(_ref68) {\n var name = _ref68.name,\n param = _ref68.param,\n body = _ref68.body;\n\n _classCallCheck(this, Setter);\n\n this.type = 'Setter';\n this.name = name;\n this.param = param;\n this.body = body;\n};\n\nvar ShorthandProperty = exports.ShorthandProperty = function ShorthandProperty(_ref69) {\n var name = _ref69.name;\n\n _classCallCheck(this, ShorthandProperty);\n\n this.type = 'ShorthandProperty';\n this.name = name;\n};\n\nvar SpreadElement = exports.SpreadElement = function SpreadElement(_ref70) {\n var expression = _ref70.expression;\n\n _classCallCheck(this, SpreadElement);\n\n this.type = 'SpreadElement';\n this.expression = expression;\n};\n\nvar SpreadProperty = exports.SpreadProperty = function SpreadProperty(_ref71) {\n var expression = _ref71.expression;\n\n _classCallCheck(this, SpreadProperty);\n\n this.type = 'SpreadProperty';\n this.expression = expression;\n};\n\nvar StaticMemberAssignmentTarget = exports.StaticMemberAssignmentTarget = function StaticMemberAssignmentTarget(_ref72) {\n var object = _ref72.object,\n property = _ref72.property;\n\n _classCallCheck(this, StaticMemberAssignmentTarget);\n\n this.type = 'StaticMemberAssignmentTarget';\n this.object = object;\n this.property = property;\n};\n\nvar StaticMemberExpression = exports.StaticMemberExpression = function StaticMemberExpression(_ref73) {\n var object = _ref73.object,\n property = _ref73.property;\n\n _classCallCheck(this, StaticMemberExpression);\n\n this.type = 'StaticMemberExpression';\n this.object = object;\n this.property = property;\n};\n\nvar StaticPropertyName = exports.StaticPropertyName = function StaticPropertyName(_ref74) {\n var value = _ref74.value;\n\n _classCallCheck(this, StaticPropertyName);\n\n this.type = 'StaticPropertyName';\n this.value = value;\n};\n\nvar Super = exports.Super = function Super() {\n _classCallCheck(this, Super);\n\n this.type = 'Super';\n};\n\nvar SwitchCase = exports.SwitchCase = function SwitchCase(_ref75) {\n var test = _ref75.test,\n consequent = _ref75.consequent;\n\n _classCallCheck(this, SwitchCase);\n\n this.type = 'SwitchCase';\n this.test = test;\n this.consequent = consequent;\n};\n\nvar SwitchDefault = exports.SwitchDefault = function SwitchDefault(_ref76) {\n var consequent = _ref76.consequent;\n\n _classCallCheck(this, SwitchDefault);\n\n this.type = 'SwitchDefault';\n this.consequent = consequent;\n};\n\nvar SwitchStatement = exports.SwitchStatement = function SwitchStatement(_ref77) {\n var discriminant = _ref77.discriminant,\n cases = _ref77.cases;\n\n _classCallCheck(this, SwitchStatement);\n\n this.type = 'SwitchStatement';\n this.discriminant = discriminant;\n this.cases = cases;\n};\n\nvar SwitchStatementWithDefault = exports.SwitchStatementWithDefault = function SwitchStatementWithDefault(_ref78) {\n var discriminant = _ref78.discriminant,\n preDefaultCases = _ref78.preDefaultCases,\n defaultCase = _ref78.defaultCase,\n postDefaultCases = _ref78.postDefaultCases;\n\n _classCallCheck(this, SwitchStatementWithDefault);\n\n this.type = 'SwitchStatementWithDefault';\n this.discriminant = discriminant;\n this.preDefaultCases = preDefaultCases;\n this.defaultCase = defaultCase;\n this.postDefaultCases = postDefaultCases;\n};\n\nvar TemplateElement = exports.TemplateElement = function TemplateElement(_ref79) {\n var rawValue = _ref79.rawValue;\n\n _classCallCheck(this, TemplateElement);\n\n this.type = 'TemplateElement';\n this.rawValue = rawValue;\n};\n\nvar TemplateExpression = exports.TemplateExpression = function TemplateExpression(_ref80) {\n var tag = _ref80.tag,\n elements = _ref80.elements;\n\n _classCallCheck(this, TemplateExpression);\n\n this.type = 'TemplateExpression';\n this.tag = tag;\n this.elements = elements;\n};\n\nvar ThisExpression = exports.ThisExpression = function ThisExpression() {\n _classCallCheck(this, ThisExpression);\n\n this.type = 'ThisExpression';\n};\n\nvar ThrowStatement = exports.ThrowStatement = function ThrowStatement(_ref81) {\n var expression = _ref81.expression;\n\n _classCallCheck(this, ThrowStatement);\n\n this.type = 'ThrowStatement';\n this.expression = expression;\n};\n\nvar TryCatchStatement = exports.TryCatchStatement = function TryCatchStatement(_ref82) {\n var body = _ref82.body,\n catchClause = _ref82.catchClause;\n\n _classCallCheck(this, TryCatchStatement);\n\n this.type = 'TryCatchStatement';\n this.body = body;\n this.catchClause = catchClause;\n};\n\nvar TryFinallyStatement = exports.TryFinallyStatement = function TryFinallyStatement(_ref83) {\n var body = _ref83.body,\n catchClause = _ref83.catchClause,\n finalizer = _ref83.finalizer;\n\n _classCallCheck(this, TryFinallyStatement);\n\n this.type = 'TryFinallyStatement';\n this.body = body;\n this.catchClause = catchClause;\n this.finalizer = finalizer;\n};\n\nvar UnaryExpression = exports.UnaryExpression = function UnaryExpression(_ref84) {\n var operator = _ref84.operator,\n operand = _ref84.operand;\n\n _classCallCheck(this, UnaryExpression);\n\n this.type = 'UnaryExpression';\n this.operator = operator;\n this.operand = operand;\n};\n\nvar UpdateExpression = exports.UpdateExpression = function UpdateExpression(_ref85) {\n var isPrefix = _ref85.isPrefix,\n operator = _ref85.operator,\n operand = _ref85.operand;\n\n _classCallCheck(this, UpdateExpression);\n\n this.type = 'UpdateExpression';\n this.isPrefix = isPrefix;\n this.operator = operator;\n this.operand = operand;\n};\n\nvar VariableDeclaration = exports.VariableDeclaration = function VariableDeclaration(_ref86) {\n var kind = _ref86.kind,\n declarators = _ref86.declarators;\n\n _classCallCheck(this, VariableDeclaration);\n\n this.type = 'VariableDeclaration';\n this.kind = kind;\n this.declarators = declarators;\n};\n\nvar VariableDeclarationStatement = exports.VariableDeclarationStatement = function VariableDeclarationStatement(_ref87) {\n var declaration = _ref87.declaration;\n\n _classCallCheck(this, VariableDeclarationStatement);\n\n this.type = 'VariableDeclarationStatement';\n this.declaration = declaration;\n};\n\nvar VariableDeclarator = exports.VariableDeclarator = function VariableDeclarator(_ref88) {\n var binding = _ref88.binding,\n init = _ref88.init;\n\n _classCallCheck(this, VariableDeclarator);\n\n this.type = 'VariableDeclarator';\n this.binding = binding;\n this.init = init;\n};\n\nvar WhileStatement = exports.WhileStatement = function WhileStatement(_ref89) {\n var test = _ref89.test,\n body = _ref89.body;\n\n _classCallCheck(this, WhileStatement);\n\n this.type = 'WhileStatement';\n this.test = test;\n this.body = body;\n};\n\nvar WithStatement = exports.WithStatement = function WithStatement(_ref90) {\n var object = _ref90.object,\n body = _ref90.body;\n\n _classCallCheck(this, WithStatement);\n\n this.type = 'WithStatement';\n this.object = object;\n this.body = body;\n};\n\nvar YieldExpression = exports.YieldExpression = function YieldExpression(_ref91) {\n var expression = _ref91.expression;\n\n _classCallCheck(this, YieldExpression);\n\n this.type = 'YieldExpression';\n this.expression = expression;\n};\n\nvar YieldGeneratorExpression = exports.YieldGeneratorExpression = function YieldGeneratorExpression(_ref92) {\n var expression = _ref92.expression;\n\n _classCallCheck(this, YieldGeneratorExpression);\n\n this.type = 'YieldGeneratorExpression';\n this.expression = expression;\n};\n\n//# sourceURL=webpack:///./node_modules/shift-ast/dist/index.js?")},"./node_modules/shift-parser/dist/early-error-state.js":function(module,exports,__webpack_require__){"use strict";eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.EarlyError = exports.EarlyErrorState = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /**\n * Copyright 2014 Shape Security, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\")\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nvar _multimap = __webpack_require__(\"./node_modules/multimap/index.js\");\n\nvar _multimap2 = _interopRequireDefault(_multimap);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction addEach(thisMap) {\n for (var _len = arguments.length, otherMaps = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n otherMaps[_key - 1] = arguments[_key];\n }\n\n otherMaps.forEach(function (otherMap) {\n otherMap.forEachEntry(function (v, k) {\n thisMap.set.apply(thisMap, [k].concat(v));\n });\n });\n return thisMap;\n}\n\nvar identity = void 0; // initialised below EarlyErrorState\n\nvar EarlyErrorState = exports.EarlyErrorState = function () {\n function EarlyErrorState() {\n _classCallCheck(this, EarlyErrorState);\n\n this.errors = [];\n // errors that are only errors in strict mode code\n this.strictErrors = [];\n\n // Label values used in LabeledStatement nodes; cleared at function boundaries\n this.usedLabelNames = [];\n\n // BreakStatement nodes; cleared at iteration; switch; and function boundaries\n this.freeBreakStatements = [];\n // ContinueStatement nodes; cleared at\n this.freeContinueStatements = [];\n\n // labeled BreakStatement nodes; cleared at LabeledStatement with same Label and function boundaries\n this.freeLabeledBreakStatements = [];\n // labeled ContinueStatement nodes; cleared at labeled iteration statement with same Label and function boundaries\n this.freeLabeledContinueStatements = [];\n\n // NewTargetExpression nodes; cleared at function (besides arrow expression) boundaries\n this.newTargetExpressions = [];\n\n // BindingIdentifier nodes; cleared at containing declaration node\n this.boundNames = new _multimap2.default();\n // BindingIdentifiers that were found to be in a lexical binding position\n this.lexicallyDeclaredNames = new _multimap2.default();\n // BindingIdentifiers that were the name of a FunctionDeclaration\n this.functionDeclarationNames = new _multimap2.default();\n // BindingIdentifiers that were found to be in a variable binding position\n this.varDeclaredNames = new _multimap2.default();\n // BindingIdentifiers that were found to be in a variable binding position\n this.forOfVarDeclaredNames = [];\n\n // Names that this module exports\n this.exportedNames = new _multimap2.default();\n // Locally declared names that are referenced in export declarations\n this.exportedBindings = new _multimap2.default();\n\n // CallExpressions with Super callee\n this.superCallExpressions = [];\n // SuperCall expressions in the context of a Method named \"constructor\"\n this.superCallExpressionsInConstructorMethod = [];\n // MemberExpressions with Super object\n this.superPropertyExpressions = [];\n\n // YieldExpression and YieldGeneratorExpression nodes; cleared at function boundaries\n this.yieldExpressions = [];\n // AwaitExpression nodes; cleared at function boundaries\n this.awaitExpressions = [];\n }\n\n _createClass(EarlyErrorState, [{\n key: 'addFreeBreakStatement',\n value: function addFreeBreakStatement(s) {\n this.freeBreakStatements.push(s);\n return this;\n }\n }, {\n key: 'addFreeLabeledBreakStatement',\n value: function addFreeLabeledBreakStatement(s) {\n this.freeLabeledBreakStatements.push(s);\n return this;\n }\n }, {\n key: 'clearFreeBreakStatements',\n value: function clearFreeBreakStatements() {\n this.freeBreakStatements = [];\n return this;\n }\n }, {\n key: 'addFreeContinueStatement',\n value: function addFreeContinueStatement(s) {\n this.freeContinueStatements.push(s);\n return this;\n }\n }, {\n key: 'addFreeLabeledContinueStatement',\n value: function addFreeLabeledContinueStatement(s) {\n this.freeLabeledContinueStatements.push(s);\n return this;\n }\n }, {\n key: 'clearFreeContinueStatements',\n value: function clearFreeContinueStatements() {\n this.freeContinueStatements = [];\n return this;\n }\n }, {\n key: 'enforceFreeBreakStatementErrors',\n value: function enforceFreeBreakStatementErrors(createError) {\n [].push.apply(this.errors, this.freeBreakStatements.map(createError));\n this.freeBreakStatements = [];\n return this;\n }\n }, {\n key: 'enforceFreeLabeledBreakStatementErrors',\n value: